comp.lang.ada
 help / color / mirror / Atom feed
* very fast procedure call
@ 2013-07-23  8:49 wrostek
  2013-08-01 12:14 ` Jacob Sparre Andersen
  0 siblings, 1 reply; 2+ messages in thread
From: wrostek @ 2013-07-23  8:49 UTC (permalink / raw)


Hi all,

this question is related to my tracing work started here last week.
https://groups.google.com/forum/#!topic/comp.lang.ada/vSNunYeX6GY

For injecting a bunch of trace I'll need an ultimate fast store call.

Here my approach.

The trace call will only provide storing 4 and 8 byte values. Each
call should generate a pair of id/value. There is no tasking/threading
involved.

First looking at the package body behaviour I'll come to the interface
later.

The body will use an array storage area which will be copied to disk
at the end of each 20msec cycle. (this may even be done via shared
memory by a different process)

Filling the array should be really fast.

The interface should be somehow this kind (sorry using C style)

procedure put32u(id: in uint32; val: in uint32);
procedure put32s(id: in uint32; val: in sint32);
procedure put32f(id: in uint32; val: in float32);
procedure put64d(id: in uint32; val: in double64);

This should be sufficient for the caller (e.g. an emum must be converted
to use the first call).

I would like to make all inline, no range checking, no C-usage, etc.

Can you give me some ideas or a similar example?

thanks in advance
Wolfgang R.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-08-01 12:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-23  8:49 very fast procedure call wrostek
2013-08-01 12:14 ` Jacob Sparre Andersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox