Wireshark mailing list archives

Re: How to improve LUA dissector performance?


From: Jeff Morriss <jeff.morriss.ws () gmail com>
Date: Tue, 16 Apr 2019 14:26:37 -0500

On Mon, Apr 15, 2019 at 9:04 AM David Aldrich <david.aldrich.ntml () gmail com>
wrote:

I haven't seen any answers to my question below. Any thoughts please?

Hi
I have written a LUA dissector that analyses large packets that consist
of control information and  IQ data (complex numbers).  Until recently I
displayed the IQ data as a string and performance was fine. However, I now
dissect and display each IQ value and the user has complained of very slow
performance when analysing a large capture set of packets.

I imagined that dissection of the IQ data would only occur when the tree
was expanded to display that data.  The reported slowness suggests that the
data for all packets is always dissected regardless of whether or not the
data is viewed. Is that correct?

Apart from re-coding as a C++ dissector (a lot of work) how could I
optimise the current LUA code?

Could I add a switch to control whether or not IQ data is dissected?


You could try avoiding doing dissection work if the tree is NULL; I'm
assuming that the tree is actually NULL in Lua (I don't know).

In C we've decided checking for tree==NULL isn't worth the code
complication; maybe it could help with a slower language like Lua?
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: