I finally got the ARM compiler evaluation CD and license today. Executive summary: code size down 30% (220 KB), and since that’s in compressed size my guess is that we are saving at least 400KB run-time memory consumption.
Code size with GCC-E, optimising for size
contextexpat.dll size 41245 ContextNotify.exe size 12709 contextnotifyclient.dll size 14650 contextcommon.dll size 73165 ContextServer.exe size 22341 contextclient.dll size 5418 blackboarddata.dll size 38807 bbf200084BF.dll size 3752 BlackBoardServer.exe size 37302 BlackBoardClient.dll size 19600 contextsensordata.dll size 41278 contextsensors.dll size 67359 bbf200084C2.dll size 4476 contextcommsensors.dll size 6313 ContextNetwork.dll size 31886 ContextCommon2.dll size 24204 contextUI.dll size 25075 jaikuuikit.dll size 19296 ContextContactsUi.dll size 106666 jaikusettings.exe size 44178 contextcontacts.exe size 52026 cl_starter.exe size 8616 contextwelcome.exe size 6971 JaikuTool.exe size 8428 total size 715761
Code size with ARMCC, optimising for size
contextexpat.dll size 32210 ContextNotify.exe size 7971 contextnotifyclient.dll size 9503 contextcommon.dll size 51096 ContextServer.exe size 15153 contextclient.dll size 2539 blackboarddata.dll size 24688 bbf200084BF.dll size 1293 BlackBoardServer.exe size 26646 BlackBoardClient.dll size 13678 contextsensordata.dll size 21583 contextsensors.dll size 46827 bbf200084C2.dll size 1892 contextcommsensors.dll size 2788 ContextNetwork.dll size 23173 ContextCommon2.dll size 16702 contextUI.dll size 18663 jaikuuikit.dll size 13256 ContextContactsUi.dll size 73089 jaikusettings.exe size 32944 contextcontacts.exe size 38605 cl_starter.exe size 6051 contextwelcome.exe size 3922 JaikuTool.exe size 5561 total size 489833
Contact ARM for pricing and purchasing. I think you get a better deal if you are a Symbian Platinum Partner and only need the compiler for Symbian.
You should also get a 15%+ minimum improvement in speed.
And no, you do not get a better deal if you are a platinum partner (well we did’nt) and we bought 4 licences.
We have almost no CPU-bound code :-). Our performance depends almost purely on local IO and platform components.
I’m assuming that these v9. files. You should consider adding your UID to their names or bad things may happen :)
ARM would not send us an evaluation CD since we are not Symbian platinum partner!?!
Just buy it if you need it :-/. It works and produces smaller code. You can buy floating licenses, so unless you are compiling really really often you only need like one license per 3 developers (since the license is only needed when actually invoking the compiler for a file). You may have to fix some code, since it has a slightly different subset of C++ it is strict about, but that’s life with C++.