Wireshark-dev: Re: [Wireshark-dev] Why are ett[] arrays static?

From: Jeff Morriss <jeff.morriss.ws@xxxxxxxxx>
Date: Fri, 19 Oct 2018 15:05:07 -0400


On Fri, Oct 19, 2018 at 2:27 PM Jakub Zawadzki <darkjames-ws@xxxxxxxxxxxx> wrote:
W dniu 2018-10-19 16:51, Jeff Morriss napisał(a):
> Is it just me or is there no reason for ett[] arrays:
>
>     /* Setup protocol subtree array */
>     static gint *ett[] = {
>         &ett_PROTOABBREV
>
> to be static?
>
> It seems to me that making it static is just wasting space (keeping the
> array around forever)?

If you make it not static, it will waste memory and CPU by having &
running code to initialize this array.

My compiler (gcc 7.3.0-16ubuntu3) with >= 32 etts, after removing static
makes array in .data, but copies it during function execution.

Good point, thanks!