List of Phobos functions that allocate memory?

Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com> Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Fri Feb 7 12:14:04 PST 2014


On Friday, 7 February 2014 at 19:54:14 UTC, Jonathan M Davis 
wrote:
> They're not as performance critical as normal code, but their 
> speed still very much matters.

Well, it is at least more difficult to write reliable code when 
you have to try to avoid them. Still for a webservice you should 
probably not have to deal with more than 1000 per second on 
average, assume 1Ghz, then that is like 1.000.000 cycles of 
running code per stack unwinding.

If you sacrifice 10% of that for exception handling that means 
you have 100.000 cycles to unwind the stack. If the unwound stack 
is 5 frames deep you have 20.000 cycles per stack frame. If that 
is not possible something should be done with the Release-version 
of the runtime.

For a webserver you could of course tie the request handler 
directly to the request object and instantiate different ones for 
each request type then have all "unwinding" in the object itself. 
Quirky, but workable.


More information about the Digitalmars-d mailing list