On Sat, Jul 27, 2013 at 6:27 PM, <eapa...@wireshark.org> wrote: > http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=50955 > > User: eapache > Date: 2013/07/27 03:27 PM > > Log: > Redesign of the wmem block allocator. > > What was becoming apparent as more dissectors started using wmem was that the > old block allocator design had issues with memory fragmentation. This keeps > the > same underlying memory layout, but completely changes how free blocks are > kept. > It runs about 3% slower in my tests (still an order of magnitude faster than > g_malloc) but uses about 1/3 the memory. > > I suspect some simple optimizations could reclaim that 3% as well - the > design > is fast, but I did not code particularly for speed. > > Thoroughly tested with the existing test suite (which caught half a dozen > bugs > in my first draft) so it should actually work! > > Directory: /trunk/epan/wmem/ > Changes Path Action > +370 -297 wmem_allocator_block.c Modified
Regarding performance, just disabling the assertions gives about 15% in my tests, but that was true of the old version as well. However, the code is complicated and the assertions are a good safeguard, so I'd rather not disable them just yet... ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe