ZMW benchmarks

CPU/#widgets
CPU/cache
Heap/#widgets
Stack/#widgets

 
Last modified: Mon Jul 5 14:51:32 CEST 2004

For 262144 widget leaves this graph give the CPU time to display the widget tree in function of the widget geometry-cache size. These is a curve for 2,4,8,64 children per node. Beware, if there is 64 children per node the total number of children is nearly divided by 2.
plot X=cache size, Y=CPU time

This graph give the CPU time to display in function of the number of widgets. The measure is done in 1/100 of seconds so the plot is inacurate for small time. If a geometry cache is used the plot is only translated down. This graph does not show it but the curves are not linear, The complexity is in O(n log n).
plot X=#leave, Y=CPU time

This graph displays the memory (heap) used by malloc/free by the library. This used space rise with the number of widgets because the widget stack must be deeper or larger. The space used is function of the log of the number of widgets. The space does not start from 0 because GDK and companion libraries are used.
plot X=#leave, Y=Heap size in Kb

This graph displays the stack size used by the running program. This size is negligible so this graph is a little random... The stack size is only function of the recursion in user function, if the application defines the widget tree without functions call the stack usage will be null.
plot X=#leave, Y=Stack size in Kb