On Fri, Sep 19, 2003 at 03:25:03AM +0200, Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
You mean you have a function that returns millisecond time or better and is neither using deltas like time() nor bignums like gethrtime()?
It is as simple as it can be. Just remove deltas from time() and always return float value (at least double precision - I never use anything with less precision). Or use time(2)+2.0 (but I don't like extra ops, especially interpreted).
Test with 7.5 instead? That should work just as well. It shouldn't be too difficult for you to backport the benchmark tests to 7.4 either.
It doesn't compile (CVS version). I tried several times last days, and it seems that it is intermediate version (there are no succesfull builds on farm either, anyway). Some weirdness in #defines or something like that...
But I don't think benchmarks will tell the whole story, or even a significant part of it.
If benchmark artifically tests exceptional case of number crunching - it will. Roxen/Caudium and similar apps won't use so significant amount of float ops nor large arrays of them, so it is unlikely that it will affect their performance/memory usage. The memory occupied by strings, mappings and intermediate objects is so significant that increasing of svalue size is not really makes any difference.
Anyway... I quickly did it... The app and results at:
http://aldem.net/pike/fdbench Memory consumption is 2x more in case of long-double and long-long-int, but timings are better (not so big difference, taking into account byte-code interpreter).
Regards, /Al