Cameron Adams writes about web experiments, JavaScript and CSS demos, and Flash versus HTML5 performance comparisons.
HN links it for early CSS and layout experiments, such as Cubescape and 2004 perspective posts, and for its Flash versus canvas benchmark debate.
> Well, I suppose my point is that Flash doesn't perform...
I think my counter question is then "doesn't perform compared to what?"
Compared to a natively compiled piece of software written in C or ASM? Yeah, it doesn't perform well at all.
Compared to Java? I'd say modern Java runtimes are faster in general.
Compared to Javascript? I'd like to see some benchmarks with modern runtimes like v8, but I'd wager that Flash (Actionscript) performs better.
Here's a rather old comparison benchmark. http://oddhammer.com/actionscriptperformance/set4/
According to this, ActionScript 3 and Flash Player 9 were approaching Java Applet speed in many of the tests.
Here's a newer one http://jacksondunstan.com/articles/232
In this test, Safari, FF 3.5.2 and AS3 all have about the same runtime. Every other browser tested run 2-9x slower.
And another followup http://jacksondunstan.com/articles/534
The results are about the same.
Here's a very recent one (March 2010) with similar results.
http://www.themaninblue.com/writing/perspective/2010/03/22/
Flash performs about as well as the very best Javascript implementations out there, and far far better than most implementations of Javascript that live in the browsers that are actually being used in the world.
I understand your point, Adobe has provided some rather abysmal ports of Flash to platforms other than Windows. But on the platforms it has been ported to (no matter how flawed) it runs about as well as the best available…
From the article,
Re: real benchmarks
If you are interested in a more direct comparison of performance between various multimedia technologies, then check out the tests done at themaninblue.com [http://themaninblue.com/writing/perspective/2010/03/22/]. This is one specific test but it shows that if anything, Flash performance is on par (if not better in some cases) with comparable technologies.
and
Re: what does this have to do with Flash?
So, when looking at Flash CPU usage compared to other multimedia technologies, then no, Flash does not use an inordinate amount of CPU. While Flash content can at times use high amounts of CPU, this is a result of the nature of the content, and not necessarily specific to the Flash runtime.
Edited with some original content: I think he has a good point that there's a lot of blind anti-Flash rage without actually thinking about what Flash competes with. Yes it's better to design websites so they don't tax your processor, but we're probably going to see the same issues people peg Flash with when sites use open alternatives for multimedia.
My experience is that your anecdotal experience is flawed and that Flash has a better workflow AND performance AND battery conservation on both desktops and mobile platforms (where it's allowed).
http://www.next-gen.biz/news/html5-still-lagging-behind-flash
http://iq12.com/blog/as3-benchmark/
http://workflowed.blogspot.com/2011/02/flash-player-101-for-android.html
http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Flash-Player-on-Android-High-Performance-Low-Battery-Drain-73833.aspx
http://pogue.blogs.nytimes.com/2010/10/07/testing-videos-on-cellphones-with-flash/
http://www.androidtabletnows.com/android-devices-news/2011/nexus-one-has-better-html5-performance-than-iphone-4-but-flash-is-still-king.html
http://themaninblue.com/writing/perspective/2010/03/22/
http://vimeo.com/10553088
http://www.blackcj.com/blog/2010/09/17/flash-outperforms-html5-on-mobile-devices/
http://www.craftymind.com/guimark3/
http://www.craftymind.com/guimark2/
But hey, let's complain about it because "Adobe is evil" or whatever! (and note: I'm an Ubuntu x64 user).
SunSpider was deliberately designed to test JS only. What's regrettable is that folks started interpreting JS performance as the primary or even sole metric of browser performance. JS performance has improved by more than an order of magnitude in most browsers since JS was first created, so it's even less likely to be a bottleneck.
It's tricky to make good benchmarks. One interest area of new browser-based benchmarks is ones that focus on graphics. Here are some recent benchmarks that focus on graphics, which I think is an up and coming hot area for web applications, particularly games:
JSGameBench - http://www.facebook.com/note.php?note_id=491691753919&id=9445547199
MainInBlue AnimationBenchmark - http://www.themaninblue.com/writing/perspective/2010/03/22/
GUIMark2 - http://www.craftymind.com/guimark2/
Could you point some benchmark actually showing canvas performing at tiny fraction of Flash's speed? Considering that they both are ECMAScript-based and Firefox got even some code from Adobe for their JS engine, I'd imagine that the performance difference wouldn't be that great.
I found one (micro)benchmark[1], and in my quick unscientific tests, canvas-version performed quite well compared to Flash (70 FPS for canvas, and 40 FPS for Flash, Firefox 7 on Windows 7).
And I certainly believe that there is great chance of improvement, as the APIs an techniques are quite young yet. See Mozillas Azure project as an example: http://blog.mozilla.com/joe/2011/04/26/introducing-the-azure-project/
[1] http://themaninblue.com/writing/perspective/2010/03/22/
I don't understand the essence of this movement, by all standards it is the mobile lobby who should be to blame.
Killing Flash is like killing the Concorde Airplane, it just means it is too advanced for its time.
Everyone who knows anything about Flash and HTML5 knows that in terms of CPU resources HTML5 is still far far far FAR behind on what the Flash plugin can do... yes, even now.
HTML5: http://themaninblue.com/experiment/AnimationBenchmark/html/
Flash: http://themaninblue.com/experiment/AnimationBenchmark/flash/