dbghelp[1]: Speed up vector_add by avoiding pool_realloc calls.
Remove no longer needed pool_realloc.
Markus Amsler
markus.amsler at oribi.org
Mon May 14 19:04:57 CDT 2007
I tried several approaches to avoid the memory leak still present after
this patch. But all of them used more memory, were more complex and
slower. I tried HeapCreate for pools, separate HeapAlloc, HeapReAlloc
for buckets, using HeapAlloc for pool_alloc with storing the pointer in
the pool. I even implemented a simple radix tree for the bucket storage.
The initial bucket size has no measurable effect, so I left it at 1 to
save some bytes.
Here the stats for this series:
A kB B kB C s D kB
orig 10920 55036 115 146388
dbghelp[1] 10664 52372 48 92448
dbghelp[2] 10668 52604 16 92632
dbghelp[3] 10632 52604 7 92632
dbghelp[4] 7444 50256 7 90452
A: Memory after startup
B: Memory normal symbol
C: Time to load big debug file
D: Memory after big debug file loaded
---
dlls/dbghelp/dbghelp_private.h | 3 +-
dlls/dbghelp/storage.c | 47
++++++++++++++-------------------------
2 files changed, 18 insertions(+), 32 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 13dc5451898e432df428b5600898b7a46647cd0f.diff
Type: text/x-patch
Size: 3265 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070515/1a612e3c/13dc5451898e432df428b5600898b7a46647cd0f.bin
More information about the wine-patches
mailing list