[Scummvm-devel] ScummVM 0.12.0: Release status -- 2008-07-13

Max Horn max at quendi.de
Tue Jul 15 12:44:17 CEST 2008


Am 15.07.2008 um 11:51 schrieb Marcus Comstedt:

>
> Max Horn <max at quendi.de> writes:
>
>> However, that shouldn't stop us from asking whether we can remove  
>> some
>> slack in our engines. On my Intel MacBook Pro, with -O and without - 
>> g,
>> I got the following "Top 5 Engines", in terms of their size:
>>
>> #1: 2662916 scumm/libscumm.a (biggest by far, but then it supports
>> lots of games)
>> #2: 1791444 kyra/libkyra.a   (clear 2nd place, almost twice as big as
>> the 3rd one -- wonder why...)
>> #3:  922020 gob/libgob.a
>> #4:  785716 agos/libagos.a
>> #5:  703796 parallaction/libparallaction.a
>
> Even without -g, using "ls -l" doesn't give a very exact figure,

Agreed, I didn't know a better way to measure it. :/

> as it
> includes symbol tables and other metadata, but doesn't count BSS
> (which is very relevant for the memory footprint).  Using "size"  
> gives a
> better indication of how much it will add to a static binary.

Excellent, didn't know about "size", very useful.
[...]

> size:
>
> scumm.plg: 0 + 1708348 + 3052 = 1711400
> kyra.plg: 0 + 1096324 + 64701 = 1161025
> parallaction.plg: 0 + 323224 + 258060 = 581284
> gob.plg: 0 + 580344 + 8 = 580352
> cruise.plg: 0 + 162844 + 379380 = 542224

>
> The top two are the same, but parallaction comes up third because of
> 1/4 megabyte of BSS.  (Ok, I used a dynamic build here, but the
> results should be about the same with static libraries.)

For Parallaction, it has this

byte _unpackedBitmap[640*401];

which accounts for the 1/4 MB of BSS -- so at least for systems w/o  
dynamic plugins, it might help to allocate this on the heap instead.  
Peres?


I wanted to include figures for a Mac OS X Intel build, with --enable- 
release --enable-plugins (so -O2 is used and no -g). However,  
apparently building plugins is broken somehow, at least it didn't  
build any for me (maybe because I am building in a dir outside the  
source dir). Need to investigate that first... ;)



Cheers,
Max




More information about the Scummvm-devel mailing list