Wireshark-dev: Re: [Wireshark-dev] Dynamically loading all dissectors

From: Jakub Zawadzki <darkjames-ws@xxxxxxxxxxxx>
Date: Tue, 31 May 2011 22:51:33 +0200
On Tue, May 31, 2011 at 09:49:32PM +0200, Anders Broman wrote:
> Should we first formulate what the goal [...] 

Of course for me primary goal is faster compiling of wireshark ;-)
(it's real pain when I change single .h file and I must wait 
to recompile libdissectors :->)

But I think for others more useful would be:

o custom builds of wireshark with subset of dissectors 
  (smaller install file, smaller memory usage, faster dissection)
o more experimental/untested dissectors could be commited initially as disabled.
o possible to reconfigure default dissector ports or disable heurestic dissectors.
o easier building of dissectors as plugins (change =y to =m in config)

> it a problem to have a lot of dissector code on a modern 64bit computer?

You were once writting to me about slow startup on 64bits! ;-)
But well IMHO no.

> Initial start up time could possibly be shortened [...]

We can shorten start up time by putting all proto_init_*/proto_reg_handoff_* 
in same section (to minimalize seeks). I once tried it and it was working
But well such code is not portable...

> I would think most people likes the full protocol support to discover 
> protocols the might not even know they existed. Is thre a significant 
> gain in speed etc if fewer protocols where present?

Ok, so if they want all dissectors they can just run make allconfig
(and we probably want to deliver such config by default),
and you'll get the fully featured libwireshark.

I'm not 100% sure if it is really good idea, but there're some pros, and 
we'll get a little more complicated building process.