Wireshark-dev: Re: [Wireshark-dev] Cashe column operations to "end of packet" and only execute
From: Anders Broman <anders.broman@xxxxxxxxxxxx>
Date: Tue, 11 Mar 2014 12:14:24 +0000

-----Original Message-----
>From: wireshark-dev-bounces@xxxxxxxxxxxxx [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Evan Huus
>Sent: den 11 mars 2014 13:06
>To: Developer support list for Wireshark
>Subject: Re: [Wireshark-dev] Cashe column operations to "end of packet" and only execute the visible ones to save CPU
>
>That sounds like it might be a good idea. Do you have captures where the col_ API is taking a substantial amount of time?
>

I could probably find something to share privately, not sure if I have something that can be publicly shared, perhaps we could profile one of the sample SIP captures?
It was a while since I did the profiling but as I remember the trace had VLAN tags which was costly to no immediate use.

>I expect the most expensive part of the col_ API is probably the formatting calls, but I'm not sure how we'd cache those. I expect we'd have to do the formatting immediately and then cache the >resulting string, so I'm not sure how much benefit that would provide over just formatting in place.

I was hoping someone more familiar with C than me would come up with a way of "cashing the execution" of the function :-)
Yes the formatting calls are the expensive ones.

>Worth exploring though.
>
>Evan

On Tue, Mar 11, 2014 at 5:20 AM, Anders Broman <anders.broman@xxxxxxxxxxxx> wrote:
> Hi,
>
> How about this idea?
>
> Would it be possible to stack the col..() operations and just execute 
> the relevant ones to save on CPU? Currently we overwrite the data as 
> we work our way through the packet
>
> Until we hit a col_set_fence() then we start to overwrite the stuff 
> after the fence again. One problem might be exceptions - other?
>
>
>
> Best regards
>
> Anders
>
>
>
>
> ___________________________________________________________________________
> Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
> Archives:    http://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>              
> mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe