comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Dynamic functions
Date: Fri, 10 Aug 2007 20:56:39 +0200
Date: 2007-08-10T20:56:34+02:00	[thread overview]
Message-ID: <vxt5r1wzgy2q$.18zp0mgh66anh.dlg@40tude.net> (raw)
In-Reply-To: 46bc7afa$0$172$edfadb0f@dread11.news.tele.dk

On Fri, 10 Aug 2007 16:59:45 +0200, Poul-Erik Andreasen wrote:

>> Execution includes elaboration of the code. In your case elaboration would
>> mean to call the compiler, to link the DLL, to load the DLL. How frequent
>> the given function F will be called per run? If you are not going to design
>> some image rendering/processing system with millions of calls per function,
>> it probably will not pay off.
> 
> In my case wee are in fact talking about  several million calls per 
> function. Jacob have bee proposing this model to me before, but i find i 
> a bit to cumbersome. By the way it is not images it is timeseries

I see, it is basically same pattern.

But if you have many small functions to call over a large grid of data, the
function call overhead becomes a problem on all those pipelined processors
with cache etc. I guess that you could give a try to dense interpretable
code. In end effect it might turn faster than calls to compiled subprograms
from a DLL.

As a guess, there is a third variant. You can try to pass the data
container to a DLL subprogram rather than individual elements of. Instead
of passing a function to some iterator, you can pass the iterator to the
function. I.e. you could try to vectorize your elementary operations. This
might be hard or impossible, though.

It looks quite interesting.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



      reply	other threads:[~2007-08-10 18:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-09 16:06 Dynamic functions Poul-Erik Andreasen
2007-08-09 16:51 ` Georg Bauhaus
2007-08-09 18:20   ` Poul-Erik Andreasen
2007-08-09 17:58 ` Dmitry A. Kazakov
2007-08-09 18:17   ` Poul-Erik Andreasen
2007-08-10  7:28     ` Dmitry A. Kazakov
2007-08-10  6:54 ` Jacob Sparre Andersen
2007-08-10  7:51   ` Dmitry A. Kazakov
2007-08-10 14:59     ` Poul-Erik Andreasen
2007-08-10 18:56       ` Dmitry A. Kazakov [this message]
replies disabled

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