Hi Thomas, I think when it comes to Array's pressure needs to be applied towards adobe and have them create a Vector object and a REAL Array type instead of the Vector type they are passing as an Array. That would speed things up a whole hell of a lot.
Cheers, -sam On Sep 11, 2007, at 4:30 AM, Thomas Quester wrote: > Of course, array bounds check will make things slower. However > spending days > of debugging an array overflow is also slow, I think that array > bounds check > is a must if it can be turned off. > Good to know that flat arrays are even slower -- do not need to bother > implementing them, maybe timing them first, after having some > functions for > timing. > > > > ----- Original Message ----- > From: "Nicolas Cannasse" <[EMAIL PROTECTED]> > To: "Open Source Flash Mailing List" <[email protected]> > Sent: Tuesday, September 11, 2007 10:56 AM > Subject: Re: [osflash] Anybody interest in developing a new compiler? > > >>>> if you try to access index 11 in array n, an IndexOutOfBounds >>>> Exception is thrown. Same for C#, Objective C and obviously C. This >>>> is fundamental and basic to all professional languages and >>>> Actionscript 3 doesn't have it? Why? Who knows but it's not there. >>> >>> But a compiler could optinally create code for array bounds >>> check, if the >>> language allows defining the array size. >>> I see that getMember is a slow operation, however on more >>> dimensional >>> arrays >>> we lay them out as a flat array and use mulitiplacation to access >>> array >>> elements. >> >> That would be even slower. You should consider experimenting first >> with >> hxASM (http://haxe.org/hxasm) to manipulate the Flash9 AVM2 >> bytecode and >> do some timing of different operations. >> >> Compared to lowlevel languages compilers such as C, there is >> little room >> for performances improvement in AVM2. There is in fact only a few >> good >> ways to generate bytecode from a given implementation. >> >> The way to get better performances is then through high level >> language >> features support that permits the compiler to optimize things >> aggressively by using the most appropriate lowlevel implementation. >> >> This way you all the benefits at the same time : programs are >> faster to >> write, easier to maintain, and runs faster. The only requirement >> is to >> learn to use these highlevel constructs. >> >> Nicolas >> >> _______________________________________________ >> osflash mailing list >> [email protected] >> http://osflash.org/mailman/listinfo/osflash_osflash.org >> > > > _______________________________________________ > osflash mailing list > [email protected] > http://osflash.org/mailman/listinfo/osflash_osflash.org _______________________________________________ osflash mailing list [email protected] http://osflash.org/mailman/listinfo/osflash_osflash.org
