ActionScript
Info on it from Thibault on bytearray.org here and download it from here.
Being able to get a list or array of the classes in a SWF is a big help, and there really should be something in ApplicationDomain for that. If you agree, then please go vote for getDefinitions() and let Adobe know that you would like it added.
I found the Computer Language Shootout on debian.org via Jim Rutherford and thought it was just too tempting.. just where does ActionScript fit in there? Hmm.. that's a question I've been wondering since AS3 was released to developers. I did a few tests comparing ActionScript3 and JavaScript and found that AS3 had closed the performance gap finally... but just how does AS3 compare to Fortran?
So I picked the "binary-trees" test to find out.. I've only tinkered with AS3 (I won't be able to use it for production for probably a year) so I've still got a couple of warnings showing up when it compiles, but the results are very promising.
Here are the results for Flash Player 9/ActionScript 3/Flex2 I saw on my old AMD 2Ghz Athlon Win XP system.. It looks like the system they're using, "a single-processor 2.2Ghz AMD™ Sempron™ machine with 512 MB of RAM", is fairly close to what I'm using.. so we're in the ballpark.

And here's where ActionScript3 would fit into the benchmark table for this test..

Now.. as you can see it takes roughly 39 seconds on my system to run this test.. that's not blazing at all when compared to Clean at 1.73 seconds (on their system). ... but.. Ruby came in at 352 seconds.
Here's the SWF that I made if anyone cares to try it.. (requires Flash Player 9). And the code.. in case someone wants to fix my errors (yep.. I'm a AS3 rookie..). Ideally I'd run their tests on my system or have them run my test SWF on their system.
I put these together a while ago and almost lost them.. so time to post them here so I’ll have ‘em in one place..
asteroid simulator
http://www.rocketboots.com.au/preso/flashteroids.swf
Identify character under mouse
http://broadcast.artificialcolors.com
Tooltips
http://wahlers.com.br
Fluid particle demo (5000 particles on screen.. 15% cpu)
http://www.unitzeroone.com
AS3 lightening particals
http://blog.andre-michelle.com
Andre Michelle loads and displays a 3DS (3dmax) file and renders the scene including shading.. amazing.
http://blog.andre-michelle.com
Showcase on labs.macromedia.com
http://labs.macromedia.com/wiki/index.php/Showcase
bitMapArray to PNG (example code only)
http://www.kaourantin.net/2005/10/png-encoder-in-as3.html
and to JPEG
http://www.kaourantin.net
AS3 Language reference
http://livedocs.macromedia.com
AS2 to AS3 Migration info
http://livedocs.macromedia.com
Jesse has how to embed images with AS3 (yow.. I needed this..)
http://www.jessewarden.com
and adding listeners to movieclip events
http://www.jessewarden.com
AS3 “First Steps” from helpQLODhelp
http://www.helpqlodhelp.com/blog/archives/2005_10.html
and of course I have to throw in my little “Ajax vs. Flash” tests.. I’ll be updating them soon I hope..
http://oddhammer.com/actionscriptperformance/set4/
So I installed Flexbuilder and the Flash Player 8.5 last night and went through the quickstart PDF and trying a few tutorials. It’s been a loooong time since I worked with MXML/Flex and it’s definitely going to take some work to get up to speed on it.
Anyway, so after hunting around some I found how to add some old style ActionScript to my “app” and have it reference a text field. It wasn’t hard to do mind you, just didn’t see any examples in the quickstart guide so had to dig a bit further.
So I wanted to see if the “performance tricks” that I’ve been collecting still apply to the new Player/VM. I only had time to try one.. Test #15 - string concatenating vs. Array join. Pulling up the old “Flash 8” SWF in the Flash Player 8.5 was no real change as expected.. but after I published the SWF from FlexBuilder the results are awesome.. the performance gain in the Flash Player 8.5 in working with Arrays looks to be huge. The String methods were also improved so the difference between concatenating the string or joining the array is fairly small (31ms vs 20ms) when compared to the FP7 days (830ms vs 109ms) seems relatively insignificant.
At any rate, this will prompt me to find some time over the next week or so to update my little performance tests. The original intent of my “actionscript performance tests” wasn’t to test one player vs. another, but to collect some of the tricks people used for performance gains. But naturally a performance trick in one Player doesn’t always work in the next version. So it’s going to be interesting to see what changed in 8.5. Also, if you know of new performance tricks that only work in FP8.5 please point me towards them..
