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:[email protected]]
Sent: Wednesday, February 22, 2012 7:29 AM
To: [email protected]
Subject: Re: Flex adopting haXe ?
>
> > From: Martin Heidegger [mailto:[email protected]]
> > 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...