Thursday, April 3, 2008

How Flex 3 Apps Change in Size With No RSL

Some size tests with Flex 3 without the RSL stuff (using export release build, of course):

Task
Bytes
Blank App
150000
Add Alert Box
165.295
Add One Canvas
165659
Add 9 More Canvases
165724
Add 1 Class with no instancing
165724
Add: Put Alert in separate function for creation complete
165719
Add: Instantiate class
165798
Add: 9 more instantiations
165808
Add: 1 String to class (the one that was instantiated 10 times)
165816
Add: DataGrid
263100
Add: custom component
263316
Add datagrid to custom component
263479
Add button
263516
Add link button
264245
Add Mxml web service (does nothing yet!)
369334
Removed the Mxml web service
264246
Added mx.rpc.soap.webservice
368517
Added mx.rpc.soap.Operation
368941
Added TitleWindow and ViewStack
375917
Added some ridiculous for loops in code
375950
Remove DataGrid and WebService and Operation
174268

So what have we learned? Flex compilation is pretty efficient with code and only bloats when you import heavy amounts of code, like the DataGrid or a WebService. Of course, if your code included all the functionality of WebService, for instance, it would probably add at least 100K or more to your final SWF.

No comments: