[Scummvm-devel] ScummVM binary size comparison
Neil Millstone
neil at millstone.demon.co.uk
Sat Nov 8 00:23:13 CET 2008
Hi Max and Team,
I found some time to work on ScummVM today. I fixed various filesystem
bugs which prevented the game from running, then I ran today's trunk
build (type A) and compared it to my last 0.12.0 build.
Currently, I have 2148Kb of memory in use at the front end, and in the
0.12.0 build, I had 1968k in use. That's a growth of nearly 10% on the
whole program. Most of this appears to be because of the larger
executable size.
So I used Max's handy command from an earlier post to find the biggest
object files. I'm compiling with my normal settings. ARM instruction
set mode (I'm sure thumb mode doesn't work with the current compiler),
Optimisation at -Os (with a small number of files at -O2).
$ size */*.a |sort -nr |head -n 20
text data bss dec hex filename
55703 0 0 55703 d997 ThemeEngine.o (ex gui/libgui.a)
40828 0 0 40828 9f7c ThemeParser.o (ex gui/libgui.a)
34643 0 0 34643 8753 launcher.o (ex gui/libgui.a)
24287 4 0 24291 5ee3 commandLine.o (ex base/libbase.a)
22161 24 0 22185 56a9 options.o (ex gui/libgui.a)
17471 0 0 17471 443f VectorRendererSpec.o (ex
graphics/libgraphics.a)
17299 0 0 17299 4393 audiostream.o (ex sound/libsound.a)
16763 0 0 16763 417b about.o (ex gui/libgui.a)
15876 1172 2048 19096 4a98 adlib.o (ex sound/libsound.a)
14660 0 33516 48176 bc30 fmopl.o (ex sound/libsound.a)
14140 0 0 14140 373c advancedDetector.o (ex
common/libcommon.a)
12264 0 0 12264 2fe8 mixer.o (ex sound/libsound.a)
12179 4 68 12251 2fdb config-manager.o (ex
common/libcommon.a)
11954 0 1024 12978 32b2 unarj.o (ex common/libcommon.a)
11311 0 0 11311 2c2f widget.o (ex gui/libgui.a)
10611 0 0 10611 2973 default-events.o (ex
backends/libbackends.a)
10407 0 0 10407 28a7 console.o (ex gui/libgui.a)
10255 0 4 10259 2813 archive.o (ex common/libcommon.a)
10234 1 24 10259 2813 ym2612.o (ex sound/libsound.a)
9697 0 0 9697 25e1 massadd.o (ex gui/libgui.a)
Out of interest, I ran the same command on my older build for
comparison. Same compiler settings.
$ size */*.a |sort -nr |head -n 20
text data bss dec hex filename
26136 0 0 26136 6618 launcher.o (ex gui/libgui.a)
25360 4 0 25364 6314 commandLine.o (ex base/libbase.a)
24516 4 0 24520 5fc8 theme-config.o (ex gui/libgui.a)
21024 12 0 21036 522c options.o (ex gui/libgui.a)
18020 0 0 18020 4664 audiostream.o (ex sound/libsound.a)
16282 1172 2048 19502 4c2e adlib.o (ex sound/libsound.a)
15900 0 0 15900 3e1c about.o (ex gui/libgui.a)
14500 0 0 14500 38a4 advancedDetector.o (ex
common/libcommon.a)
14292 0 33516 47808 bac0 fmopl.o (ex sound/libsound.a)
13775 0 0 13775 35cf ThemeClassic.o (ex gui/libgui.a)
13364 0 1024 14388 3834 unarj.o (ex common/libcommon.a)
11392 4 84 11480 2cd8 config-manager.o (ex
common/libcommon.a)
10964 0 0 10964 2ad4 massadd.o (ex gui/libgui.a)
10468 1 24 10493 28fd ym2612.o (ex sound/libsound.a)
10128 0 0 10128 2790 default-events.o (ex
backends/libbackends.a)
9632 0 0 9632 25a0 widget.o (ex gui/libgui.a)
9264 4 4 9272 2438 font.o (ex graphics/libgraphics.a)
9180 0 0 9180 23dc console.o (ex gui/libgui.a)
8876 0 8 8884 22b4 file.o (ex common/libcommon.a)
8560 0 0 8560 2170 mixer.o (ex sound/libsound.a)
It seems that the new GUI has caused the dialogs to increase in size,
like launcher.o and massadd.o.
So, any ideas on how this can be improved?
Thanks,
- Neil
More information about the Scummvm-devel
mailing list