Archive for August 10, 2006

accelerators never die

The last findings have been very interesting.

The following chart shows the behaviour of gtk_widget_add_accelerator(), method invoked by bonobo_ui_sync_menu_state. Here is where the time increases. Each point represents the sum of the times of all the add_accelerator in a switch, so there are 100 switches:

timing
Analysing the code we reach finally a g_memmove at quick_accel_add(), with the following behaviour:

gmem
Moreover, if we print the number of accelerators at an accelerator group the value always grow, like if some of the accelerators hasn’t been removed at the deactivation of the component in a switch.

Leave a Comment