The biggest win, I think, would be if we can avoid calling free_chain at all because tvbs are always allocated in the right scope and so get freed automatically. I think this would involve touching every place that creates new tvbs backed with glib memory though...
I will try and think about this and review your patches sometime this weekend. On Fri, Jul 11, 2014 at 2:58 AM, Jakub Zawadzki <[email protected]> wrote: > Hi, > > On Sat, Jun 21, 2014 at 10:12:48PM +0200, Jakub Zawadzki wrote: > > If we're in topic of optimizing 'slower' [de]allocations in common > functions: > > > > - tvb allocation/deallocation (2.5%, or 3.4% when no filtering) > > > > 243,931,671 * ???:tvb_new > [/tmp/wireshark/epan/.libs/libwireshark.so.0.0.0] > > 202,052,290 > ???:g_slice_alloc (2463493x) > [/usr/lib64/libglib-2.0.so.0.3600.4] > > > > 291,765,126 * ???:tvb_free_chain > [/tmp/wireshark/epan/.libs/libwireshark.so.0.0.0] > > 256,390,635 > ???:g_slice_free1 (2435843x) > [/usr/lib64/libglib-2.0.so.0.3600.4] > > > This, or next week I'll try to do tvb. > > ... or maybe this week: > > ver0 | 18,055,719,820 (-----------) | Base version > 96f0585268f1cc4e820767c4038c10ed4915c12a > ver1 | 18,185,185,838 (0.6% slower) | Change tvb allocator g_slice_* to > wmem with file scope > ver2 | 17,809,433,204 (1.4% faster) | Change tvb allocator g_slice_* to > wmem with file/packet scope > ver3 | 17,812,128,887 (1.3% faster) | Change tvb allocator g_slice_* to > simple object allocator with epan scope > ver4 | 17,704,132,561 (2.0% faster) | Change tvb allocator g_slice_* to > simple object allocator with file scope > > I have uploaded patches & profiler outputs to: > http://www.wireshark.org/~darkjames/tvb-opt-allocator/ > > Please review, and check what version is OK to be applied. > > > P.S: I'll might find some time to do ver5 with slab allocator, but it'll > look like object allocator API with epan scope. > > Cheers, > Jakub. > ___________________________________________________________________________ > Sent via: Wireshark-dev mailing list <[email protected]> > Archives: http://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev > mailto:[email protected] > ?subject=unsubscribe >
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
