On Fri, Jul 11, 2014 at 6:07 PM, Anders Broman <a.broma...@gmail.com> wrote:

>
> Den 11 jul 2014 23:13 skrev "Bálint Réczey" <bal...@balintreczey.hu>:
>
> >
> > Hi All,
> >
> > Please provide the input data for letting others reproduce the results
> > or perform the performance tests on pcap files already available to
> > the public
>
> Ok I'll see if we can use something from the wiki instead.
>
> >
> > I'm not a fan of implementing custom memory management methods because
> > partly because I highly doubt we can beat jemalloc easily on
> > performance and custom allocation methods can also have nasty bugs
> > like the one observed in OpenSSL:
> > http://www.tedunangst.com/flak/post/analysis-of-openssl-freelist-reuse
> >
>
> We have gone through a set of memory allocation schemes already to try to
> improve performance (g_slice, emen and now wmem)
>
Technically, emem was originally added to fix memory leaks caused by
exceptions. Wmem (as just a better-architected replacement for emem) is
similar.

The block allocator was added later as an optimization because it provided
a *significant* improvement in performance over a simple linked-list of
OS-alloced blocks (5-10x faster in my benchmarks).

> are you saying that you are opposed to that?
>
> As wmem seems to be the faster scheme for packet scope memory allocation
> /free, why not use it in all possible places where  the scope is "packet"?
>
> > Please don't sacrifice protection for 2% speedup. Please keep wmem
> > usage for cases where it is used for garbage collecting (free() after
> > end of frame/capture file) not when the allocation and deallocation
> > are already done properly.
>
> ? A slow scheme might be working well but that in it self does not warrant
> to not replace it with a faster one. With this reasoning we shouldn't have
> introduced ep memory in the first place.
>
> What percentage if improvement do you think makes a change worthwhile?
>
> The set of improvements Jacub and I have done lately has given a reduction
> of 40-50 percent compared to 1.10 measuring with the sample file. The
> problem is that each improvement only yeald a percent or 2. Agreed that we
> shouldn't complicate the code for a small speed gain.
>
> In your blog you say that people would accept double the execution time
> with increased security - I'm not so sure. If say the reformatting of a
> video takes one hour instead of 30 minutes.
>
> Just my 2 cents
> Anders
> >
> > Thanks,
> > Balint
> >
> > 2014-07-11 8:58 GMT+02:00 Jakub Zawadzki <darkjames...@darkjames.pl>:
> > > 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 <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
> >
> ___________________________________________________________________________
> > 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
>
>
> ___________________________________________________________________________
> 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
>
___________________________________________________________________________
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

Reply via email to