Wireshark mailing list archives

Re: [Wireshark-commits] rev 50955: /trunk/epan/wmem/ /trunk/epan/wmem/: wmem_allocator_block.c


From: Evan Huus <eapache () gmail com>
Date: Sat, 27 Jul 2013 19:11:11 -0400

On Sat, Jul 27, 2013 at 6:27 PM,  <eapache () 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-request () wireshark org?subject=unsubscribe


Current thread: