Flash Player has special newarray and newobject bytecodes that are used for array literals like [ 1, 2, 3 ] and object literals like { a: 1, b: 2, c: 3 } and are faster than a generic constructor call. That's why the coding guidelines for Flex recommend using the literal syntax rather than new Array() or new Object().
- Gordon Smith, Falcon team, Adobe -----Original Message----- From: Roland Zwaga [mailto:rol...@stackandheap.com] Sent: Wednesday, February 22, 2012 7:29 AM To: flex-dev@incubator.apache.org Subject: Re: Flex adopting haXe ? > > > From: Martin Heidegger [mailto:m...@leichtgewicht.at] > > Sent: 22 February 2012 15:18 > > Also another thing is that > > > > if(a == null) is slower than if(a) .... at least compiled with mxmlc. > Is it really? I didn't know that. > > Writing code that enables a cast + comparison to happen quicker than a > direct comparison takes some doing! :/ I'm hoping that Falcon wil emit some more sane opcodes as well. Actionscript is rife with such weird performance behaviors. Apparently this: var array:Array = []; is faster than: var array:Array = new Array(); There's plenty more examples like that...