Re: Dramatic slowdown -ping Rob
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> Nov 30, 2004
- 569 views
On Sun, 28 Nov 2004 20:29:12 -0800, Robert Craig <guest at RapidEuphoria.com> wrote: >As promised, I looked into the performance issue raised >by Pete Lomax a while back. I don't think there is any >bug in Euphoria itself (ref counts etc.). >I rather think WATCOM's storage >allocator for DOS has some very quirky behavior. In exw.exe >I don't use the WATCOM allocator, I use Microsoft's. Thanks for looking into this. Now I know it's a problem in ex rather than exw, I'm no longer overly concerned about it. >I earlier reported no problem with ex.exe for 2.5, >but I think I must have been using exw.exe for 2.5. >exw runs the code below very fast regardless of the >size of the sequences. People noticed a big slowdown >with ex.exe when moving from 27 to 28. I believe that's because >I allocate 50% more space when the size becomes 28. >For speed in handling small sequences, I map to a set of >standard memory block sizes: >16, 24, 32, 48, 64, 96, 128 bytes, 192 bytes, 256 etc. >I think 27 would need 128, while 28 would need 192. > >However, strangely enough, when the size is increased from 28 to >100, it runs really fast, even though more processing is being >done by Euphoria. Sounds to me like Watcom has a problem with 192, which is not all that surprising since few C programs are likely to allocate tens of thousands of blocks of (just) that size. You've probably thought of this already, but you might want to consider avoiding the problem in ex by removing the 192 size (ie just in ex, leave it in exw and exu)? As I said, it does not really bother me personally, but I know that "speed is something of an obsession for you". Regards, Pete