My first goal is to find out about the state of Flash and JS as the main engine behind HTML5 these days.
I will try to keep this up-to-day.

Methodology of testing performance.

- There is number of task to perform in sequential mode.
- Before test starts there is a control tare function to settle testing environment as well as measure empty loop value.
- Each task on any platform has 100.000 iterations and repeats 10 times.
- Between every task and iteration there is a pause to make sure nothing is interrupting measurements.
- The result is a total time of 10 iterations and average per iteration. This is to show overall performance and avoid ups-and-downs.
- Purpose of this test is not to show witch platform is better but witch options are the best for your needs.
- Task for both platforms should be as identical as possible.
- Temporary references, instances etc. shouldn’t be a subject of the test. We testing just a specific task how it performs.
- Each iteration for both platform using the same type of loop (for).

Test: Flash and JS/HTML5 capable devices only: [PLEASE ENTER THE NAME OF DEVICE IF POSSIBLE]

Flaemo2D



You can also download sources for your own testing purposes.

Flaemo2D



If you need to see the sources of the tables out of the box you can use this link to access it, just change id.

http://flaemo.com/bixbite/gettable.php?id={id of the spec}
for example very first test is here

For people with short attention spam
I just realised after conversation with one guy, you are not reading the analysis and have tendency to misinterpret the data again. Short summary here:

- JS on PC in raw speed is catching up AS3, but not in all areas
- JS on Mobile devices / Tablets is far behind AS3 in row speed, the only thing that is good at is a string and RegExp operations
- JS in real world example when comes to moving stuff on the screen is way behind AS3 on Both Desktop and Mobile platform. Average 100 x slower!
- JS in real world there is even bigger problem, these days people using jQuery, in average it’s 100x Slower than plain JS. Check this out.

Below results of my testing and some analysis.

PC / AMD 955 / Firefox 8
Type: PlugIn Ver: WIN 11,1,102,55 OS: Windows 7
userAgentMozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0
platformWin32
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
22.00 20.00 20.00 200.0 0.0000 0.0000 0.0000 200.0 170.0 306.0 100.0 408.0 101.0 104.0 171.0 232.0 0.0000 2.000 11.00 10.00
21.00 13.00 18.00 136.0 20.00 16.00 1.000 129.0 66.00 59.00 62.00 82.00 49.00 233.0 18.00 12.00 11.00 20.00 177.0 179.0
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toString String(val) parseInt parseFloat create move rotate scale remove
20.00 11.00 0.0000 0.0000 0.0000 0.0000 40.00 40.00 20.00 0.0000 10.00 1125 0.0000 70.00 101.0 30.00 1.000 2.000 1.000 1043
0.0000 10.00 10.00 9.000 1.000 0.0000 50.00 50.00 49.00 0.0000 0.0000 90.00 - 61.00 82.00 775.0 1235 603.0 1144 1205

First the newest version of Firefox and Flash plugin. All the hype about HTML5 already convinced us that JS is catching up AS3. Showing us some generic tests, removed from the contest, when JS is faster than AS3 in some cases. But let’s take a look at the big picture. How useful are the areas when JS is indeed faster.

Tasks have been divided for specific groups.

Array iteration (100k)
When comes to iteration through an Array you can pick up the best option for both and JS and AS3 and JS outperform it almost 2 times. In reality developers using many different types of iteration to do their job the most convenient way. It is hard to find some JS framework that extensively using while loops, and only. Anyway good to see JS being fast here. HTML5 lover will show this to us as a prove point for many times yet. However:

Vector iteration (100k)
This test showing us that new type of data structures added to flash 10+ is very fast on desktop. In fact number of iterations is to low to show the true face. In reality is faster 10x than JS on Desktop machines. I decided to keep number of iterations consistent for one reason. To see the gap between Desktop and Mobile machines. Increasing number of iterations by 10 is too much for mobile devices to handle. You can download the sources and increase the numbers to see how it behave.

In summary for very common tasks in programming, like iteration through the array and working with big amount of data Flash is mush faster. This is mostly important for RIA and 3D rich content when number of vertices and indices sometimes is higher than this test. In flash you have even more. Alchemy opt-codes that can outperform vector speed sometimes x3. In total leaving 30x slover JS way behind. Imagine now working with WebGL or Canvas though…

Object creation (100k)
Flash is very consistent here. Slow. The slowest one is a new Object(signature) for obvious reason. In AS3 you can’t have it. When you create generic object you have to assign variables in separate go. So in fact using {value:value} is the only option. Anyway the strength of full OOP language are not generic objects but Classes. It comes with price tag. Generation of strict classes must take more time. And in this area flash is getting better to compare to JS. Creating just a Class is still faster in JS but Class with signature we have reversed situation. This is due to lack of proper OOP features. JS is very generic and good with objects. Classes are somehow ‘limited’ in JS in comparison to modern OOP languages. Prototyping in general has big performance penalty. Considering RIA applications, bigger frameworks and structures I see JS going to slow down significantly to compare to Flash based RIA. It is all depend of complexity of the structure and necessity of using private or public access to the classes. You can possibly do a lot optimisations and keep JS classes self sustainable but this will limit you with design decisions. Sooner or later you can get to conclusion JS is good for small structures only. Remember I am judging here regarding to this particular platform and browser.

Scope (100k)
Now when we have our big structure we need to find out about the speed of accessing our variables. When comes to Objects JS is a winner however AS3 is a proper OOP language so nobody is building stuff made up of objects. We using Classes :) . And when comes to Classes accessibility AS3 is 10x faster. This test confirm above that for building stuff with JS is better to work with generic objects. Somehow we are getting away from real chance to make robust app in JS. But there is a lot of crazy stuff done for JS that taking it into account. So, maybe approach how to make efficient stuff for HTML5 will change because of that. I am only concern even more about readability and maintainability of this kind of code. Anyway pick up the fastest way per platform and Flash is still 10x faster platform to do this job.

RegExp (1k)
This is the weak area of AS3. Regular expressions and method test. I am surprised that exe is actually as fast as JS. But in short performing email validation 1000 times you better use JS. An you will see that this statement is more true when comes to mobile. So to all AS3 developers use ExternalInterface.call and you are done :) ;

Math (100k)
Number of iteration for Desktop machine is to low to show you real difference here. But again is for mobile testing purposes to keep it low. AS you can notice, JS is slightly slower in all math computation. And when you will increase number of iterations you can actually see how much. For this particular platform we are talking about 30% slower JS vs AS3.

String (1k)
indexOf is unnoticeable here for the same reason as before. You just take a look at mobile tests. More or less there is a same difference and AS3 is a winner. However this is another AS3 Achilles’ heel. Splitting a String. on Desktop it can be slower from 2 to 10 times to compare to JS.

Type conversion (100k)
Converting data from one to another is a very common task. First toString() method again showing AS3 not doing well with string operations. However AS3 developers most commonly using Casting.
so the String(value) is more acurate option in reality. (I don’t know yet how to mimic this in JS so any help appreciated, test for now skipped for JS). Casting is significantly faster and again proper OOP language taking advantage of being strict. Normal parsing integer or float is slower, what about casting? You bet. (I don’t have too much space for my table for obvious things).

Shape/Box (500)
And here I’ve decided to add first visual test and use some HTML5 stuff. More real world example you can actually see something happening. So, when Flash is using shapes HTML5 using box model as the closest equivalent of it and flexible element to mimic flash when comes to RIA. There are basic tasks being performed. Creation of 500 shapes 10 times is very slow in Flash (30ms) I think JS with (775ms) is more suitable for RIA applications (sarcasm). Moving, scaling, and rotating those boxes is nothing for flash. JS performance is a joke. In reality all the HTML5 fun-boys are very exiting about this feature as modern way (imitation of flash way) of dealing with layouts. Hope this feature is under development and they will fix it. Since I am counting on this as well. What else you can notice for bot AS3 and JS removing all this from the container is very slow. Consider it, building your apps with dynamic content, but also keep in mind impact for memory consumption. Is all about the balance.

PC / AMD 955 / Chrome
Type: PlugIn Ver: WIN 11,1,102,55 OS: Windows 7
userAgentMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2
platformWin32
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
22.00 20.00 20.00 201.0 1.000 1.000 0.0000 197.0 170.0 310.0 102.0 410.0 102.0 100.0 175.0 235.0 0.0000 0.0000 10.00 10.00
27.00 21.00 20.00 210.0 57.00 57.00 1.000 206.0 40.00 40.00 30.00 32.00 20.00 20.00 2.000 3.000 12.00 12.00 11.00 4.000
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toString String(val) parseInt parseFloat create move rotate scale remove
11.00 10.00 0.0000 0.0000 0.0000 0.0000 40.00 40.00 20.00 0.0000 10.00 1075 0.0000 70.00 103.0 32.00 0.0000 0.0000 0.0000 605.0
1.000 9.000 0.0000 0.0000 0.0000 0.0000 3.000 3.000 3.000 0.0000 5.000 20.00 - 104.0 102.0 75.00 32.00 61.00 52.00 21.00

Now our king of speed :)
[UPDATE 1]I have noticed some behaviour of Chrome that is unique to any other browser. Previously when tests didn’t have step by step sequential mode, all the browsers where hanged before able to show the result, that was the very reason why I had to improve that tool. However Chrome was executing it step by step itself. This is what mainly giving you faster startup if the website is JS heavy. This is very good improvement, optimisation to overcome poor JS start-up and initial lag. However none of the mobile browsers are doing that.

[Update2] I repeated test with GPU composition enabled counting on performance improvement. No difference. I will review the implementation maybe there is something to make it faster…

Array iteration (100k)
To addition to above I can only say, it’s slower than firefox 8

Vector iteration (100k)
To addition to above I can only say, it’s much slower than firefox 8. It is strange that fixed arrays are worst in performance.

Object creation (100k)
Here we have a game changer! Whatever wrong I have said about JS and classes, looks like Chrome got it right and here it is, where king of speed showing its power. In fact is better than AS3.
But here is a hatch. If the Chrome is indeed good browser is it politically correct to force everybody to use it because of this or that RIA application perform better? We using Firefox and Opera and even Chrome this days for exactly same reason. We were concern about IE monopoly. Also building the RIA app you have to consider all browsers right? AS long as they are in big numbers on the market share. So in practice you are limited to the slowest platform on the market.

Scope (100k)
Chrome is equally good in accessing members of the object and classes. However didn’t win with all the cases vs AS3.

RegExp (1k)
Slightly faster than FF.

Math (100k)
In basic maths calculations Chrome is equally good as AS3. And 10x faster in trigonometry. That leaving some good chances for good matrix and 3D operations usefully for WebGL.

String (1k)
Splitting the strings a bit slower for Chrome but still 2x faster than AS3.

Type conversion (100k)
Here is a bit slower to compare to FF.

Shape/Box (500)
Here is big improvement. 100x faster than FF! wow. But still 50x slower than AS3, wow. So much to do! I am really counting on box model guys!.

PC / AMD 955 / Opera 9
Type: PlugIn Ver: WIN 11,1,102,55 OS: Windows 7
userAgentOpera/9.80 (Windows NT 6.1; U; Edition United States Local; en) Presto/2.9.168 Version/11.50
platformWin32
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
22.00 20.00 20.00 199.0 1.000 1.000 0.0000 200.0 170.0 308.0 110.0 411.0 104.0 110.0 170.0 231.0 0.0000 0.0000 10.00 10.00
20.00 21.00 21.00 130.0 10.00 10.00 10.00 130.0 59.00 38.00 80.00 90.00 60.00 53.00 20.00 25.00 20.00 30.00 11.00 18.00
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toString String(val) parseInt parseFloat create move rotate scale remove
11.00 10.00 0.0000 0.0000 0.0000 0.0000 40.00 40.00 20.00 0.0000 10.00 1019 0.0000 70.00 100.0 23.00 0.0000 0.0000 0.0000 605.0
0.0000 2.000 4.000 0.0000 0.0000 10.00 50.00 40.00 20.00 0.0000 10.00 417.0 - 10.00 160.0 37.00 44.00 60.00 30.00 7.000

Browser for enthusiasts :) . Trying to catch up with improvements to be countable on the market. And I have to say, at least this generic test is showing that is very countable option.

Array iteration (100k)
Simple arrays are equally fast as in AS3. for in loop even faster!.

Vector iteration (100k)
Here is nice to see that they have fixed arrays optimised! is only 10 times slower than AS3 vectors and bits AS3 in for in loop. Nice!

Object creation (100k)
In general slower a bit to compare to FF but there is no lag with class and constructor. That’s good improvement since in any case now is faster than Flash.

Scope (100k)
Against Chrome is 10x slower and still accession of members of any level is faster for AS3 when comes to Classes.

RegExp (1k)
The fastest Browser for this task so far.

Math (100k)
In basic maths sometimes a bit slower than AS3. And head to head in trigonometry.

String (1k)
Equally good as AS3. (If this is good)

Type conversion (100k)
A bit jumpy results for type conversion. It’s hard to judge here.

Shape/Box (500)
My hope here that things are going in good direction.
2x faster creation to compare to Chrome, moving stuff around a bit slower but faster scaling. Very fast in removal.

PC / AMD 955 / IE 9
Type: ActiveX Ver: WIN 11,1,102,55 OS: Windows 7
userAgentMozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; .NET4.0C; .NET4.0E)
platformWin64
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
33.00 30.00 30.00 171.0 1.000 7.000 1.000 170.0 152.0 271.0 93.00 330.0 115.0 115.0 137.0 179.0 0.0000 0.0000 10.00 10.00
59.00 68.00 67.00 208.0 46.00 61.00 60.00 207.0 90.00 141.0 136.0 363.0 271.0 282.0 100.0 141.0 127.0 180.0 231.0 227.0
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toString String(val) parseInt parseFloat create move rotate scale remove
12.00 10.00 0.0000 0.0000 0.0000 0.0000 50.00 40.00 20.00 0.0000 10.00 745.0 0.0000 60.00 90.00 26.00 0.0000 0.0000 1.000 453.0
0.0000 7.000 60.00 50.00 63.00 80.00 162.0 148.0 132.0 0.0000 6.000 118.0 - 183.0 172.0 73.00 163.0 64.00 79.00 1462

Doesn’t need introduction. Everybody hate it, 40% of human beings still using it.. hmm.
Let’s pay attention to the flash values now since we running different form of flash plug-in. Before flash was very consistent across browsers.

Array iteration (100k)
Vector iteration (100k)
The slowest results for both AS3 and JS in those cases.

Object creation (100k)
Flash is speeding up but JS slowing down a lot. Making AS3 a leader in every case scenario.

Scope (100k)
Flash is speeding up again JS slowing down making the worst JS performance so far.

RegExp (1k)
Not to bad to compare to the others.

Math (100k)
Something went horribly wrong there for JS. Basic Math 50x slower than AS3!, Trigonometry 3x slower.

String (1k)
Equally good as AS3.

Type conversion (100k)
Slow…

Shape/Box (500)
Finally in moving stuff around to compare to others is just behind Chrome. Between IE and FF in this test is still a huge gap, lots to do and long way to catch up AS3 performance on desktop.
But don’t get me wrong here, planing to test another option of rendering stuff and more real world examples in new test bundle. Canvas is our big hope to compete with flash right? So will see.

But for now after testing 4 major browsers on PC same platform conclusion might be one. JS is getting closer to AS3 these days. But there are crucial weak points making this technology not ready to deal with. Apart of very poor and hard to maintain language there is a lot of limitations. Mostly dictated by inconsistent implementation of browser vendors. Flash in other hand is very stable across all the browsers.



Now the most interesting part, Mobile Platforms:

Nexus S / default
Type: PlugIn Ver: AND 11,1,102,59 OS: Linux 2.6.35.7-gf5f63ef
userAgentMozilla/5.0 (Linux; U; Android 2.3.6; en-gb; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
platformLinux armv7l
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
756.0 785.0 791.0 2053 530.0 560.0 516.0 1881 2869 5223 1424 6287 1467 1508 1788 2150 287.0 305.0 690.0 667.0
1024 1041 1053 4992 1116 1203 727.0 4597 916.0 863.0 1047 1125 797.0 823.0 794.0 894.0 841.0 947.0 863.0 807.0
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toStrin String(val) parseInt parseFloat create move rotate scale remove
804.0 827.0 202.0 196.0 181.0 203.0 622.0 182.0 519.0 30.00 803.0 1.168e 4 196.0 1248 1480 797.0 46.00 51.00 158.0 3137
346.0 561.0 524.0 523.0 498.0 534.0 1041 929.0 1041 78.00 722.0 1113 - 1851 2197 640.0 819.0 997.0 1333 511.0
Nexus S / Dolphin HD
Type: PlugIn Ver: AND 11,1,102,59 OS: Linux 2.6.35.7-gf5f63ef
userAgentMozilla/5.0 (Linux; U; Android 2.3.6; en-gb; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
platformLinux armv7l
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
308.0 835.0 813.0 2061 553.0 594.0 527.0 1995 2920 5178 1387 6214 1402 1445 1777 2153 289.0 347.0 686.0 683.0
927.0 982.0 1004 4486 1092 1160 787.0 4441 931.0 916.0 1057 1150 805.0 912.0 846.0 900.0 855.0 886.0 686.0 821.0
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toString String(val) parseInt parseFloat create move rotate scale remove
752.0 796.0 191.0 198.0 196.0 193.0 573.0 607.0 567.0 15.00 773.0 1.146e 4 193.0 1218 1447 1071 45.00 50.00 160.0 3414
342.0 542.0 519.0 526.0 519.0 518.0 1007 999.0 1031 87.00 617.0 1076 - 1767 2128 661.0 879.0 833.0 1207 439.0

In short. 2 browsers on Nexus S are slightly different. But since they sits on the same architecture (AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1) you can go to the main conclusion.

JS/HTML5 on the mobile browser is a disaster. The gap between AS3 adn JS in average is 1 : 3. Obviously the entire thing slowed down to show you where we are in Mobile technology in general to compare to desktop. Seing Desktop vs Mobile 35times slower platform having html/js 3 times slower On the platform making it 100x less possibilities! What does it means for us? Nothing very RIA like make sense in HTML5. I will highlight this. ESPECIALY in HTML5. if you could build some app in AS3 for mobile plug-in with very optimised content. Moving 160 elements around on the screen per view in full screen mode could make look and feel of native application possible. In Flash that was doable. I spent entire year to find out about this. Now we are being told HTML5 is the future.

No full screen, your interface behaviour is inconsistent limited by implementation of the browser. And the gap in area of displayable bits leaving you with 30 block to build something reach. No way you can compete with the native applications. The only thing that HTML5 is good at is display static content with mobile version. Not so far from his 4 version right? So what was this whole hype about? HTML5 on the modern browser is like improved version of WAP frankly saying.

Now another question came out. Is the flash performing on the mobile is due to heavy lifting done to Flash? Or lack of lifting on HTML5?

If the first is true, just showing us that Adobe developers by limiting speed of the desktop plug-in were concern about keep both worlds closer to each other.
That also will tell us there is no to much improvement for HTML5 to be better on Mobile which is pretty sad. No way you can create your own channel of content distribution via browser for mobile.
You know what it means? Monopolise the market. Killing Flash on browser only will help them out to do so. At least we can count on Flsah on desktop to be improved, now if they don’t have to take mobile into account any more. And that will make the AS3 outperforming JS again!

If the second? There is a hope HTML5 will catch up flash on mobile. Is really enough to catch up to make something very useful within it.
First try to find out how things progressing is to see the mobile with newest engine.. so here we go:

HTC Desire S
Type: PlugIn Ver: AND 11,1,102,59 OS: Linux 2.6.35.10-g2ee27f5
userAgentMozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16
platformLinux armv7l
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
657.0 619.0 676.0 2114 143.0 172.0 158.0 1958 1948 3012 1385 3840 1516 1524 1819 2221 84.00 113.0 248.0 235.0
899.0 977.0 923.0 3867 1088 1082 414.0 3829 665.0 883.0 795.0 879.0 642.0 609.0 427.0 552.0 622.0 545.0 530.0 499.0
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toString String(val) parseInt parseFloat create move rotate scale remove
494.0 524.0 51.00 66.00 63.00 57.00 231.0 246.0 235.0 6.000 384.0 1.122e 4 55.00 1023 1439 453.0 19.00 34.00 21.00 5505
90.00 134.0 152.0 130.0 147.0 133.0 814.0 879.0 826.0 37.00 344.0 1077 - 1490 2503 337.0 637.0 858.0 781.0 487.0

So new engine ((KHTML, like Gecko) Version/5.0 Safari/533.16) showing us something surprisingly different.

Indeed JS has been improved. Much more than AS3 but so AS3 was. And when you actually take a look at our “real world test” Flash sped up a lot, JS not to much, again increasing the gap between them.
Not going to write more detailed conclusions here. Is to less testing, to be able paint a big picture. Keep in mind, my judgements are based on my observations here, and only. I would like to hear from you and see more specs to analyse. Don’t get me wrong. This article is not about flame wars. Witch one is better or not. Who has a little ability to think already know that, It is more about to find out what the situation is, see big picture and state of HTML5 hype and only hope that this thing will be improved over the time, if this is our future we have been forced into, let’s do something better about it.

Keep testing guys. This tool will produce results and save it into Data Base. Later on I will publish them all here or create some spec viewer. AS well as some isolated JS test only to see the iStuff and non flash capable devices. It would be usefull to compare them as well. Counting also on more Tablet specs. It is another one area things might look different.

PS. sorry for my English, feel free to correct me via PM please.

[EDIT]
User specs:

Just founded first data for a Tablet. Again, Flash seems to be much more robust technology than HTML5 for tablets…

Asus EeePad Transformer TF101 10.1 inch Tablet PC (nVidia Tegra2 1GHz, 1Gb, 16Gb eMMC, WLAN, BT, Android 3.0)
Type: PlugIn Ver: AND 11,1,102,59 OS: Linux 2.6.36.3
userAgentMozilla/5.0 (Linux; U; Linux Ventana; fr-fr; Transformer TF101 Build/HTK75) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/8.0 Safari/534.13
platformLinux armv7l
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
234.0 246.0 264.0 1154 116.0 131.0 123.0 1150 1055 1938 696.0 2618 816.0 776.0 1024 1377 70.00 92.00 169.0 135.0
618.0 573.0 587.0 2470 627.0 696.0 135.0 2475 335.0 345.0 363.0 406.0 241.0 259.0 179.0 239.0 204.0 237.0 223.0 206.0
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toString String(val) parseInt parseFloat create move rotate scale remove
237.0 233.0 53.00 49.00 48.00 47.00 145.0 103.0 118.0 3.000 168.0 7005 56.00 569.0 728.0 295.0 20.00 13.00 11.00 4234
24.00 38.00 76.00 70.00 62.00 71.00 202.0 204.0 219.0 10.00 140.0 257.0 - 695.0 649.0 208.0 756.0 648.0 770.0 702.0

Chrome on Vaio

Vaio
Type: PlugIn Ver: WIN 11,1,102,55 OS: Windows 7
userAgentMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.8 (KHTML, like Gecko) Chrome/17.0.942.0 Safari/535.8
platformWin32
Array iteration (100k) Vector iteration (100k) Object creation (100k) Scope (100k)
for while do while for in for while do while for in { } {sig} new Object() new Object(sig) new Class() new Class(sig) Object lvl2 Object lvl3 Class lvl2 Class lvl3 Method call Method return
70.00 66.00 62.00 480.0 12.00 22.00 15.00 473.0 441.0 638.0 317.0 695.0 278.0 257.0 351.0 402.0 10.00 11.00 27.00 16.00
94.00 62.00 56.00 481.0 170.0 175.0 10.00 486.0 127.0 118.0 87.00 87.00 73.00 57.00 23.00 30.00 31.00 50.00 22.00 21.00
RegExp (1k) Math (100k) String (1k) Type conversion (100k) Shape/Box (500)
test exe - * / sin cos sqrt indexOf split toString String(val) parseInt parseFloat create move rotate scale remove
31.00 32.00 0.0000 1.000 0.0000 0.0000 78.00 73.00 23.00 0.0000 27.00 1747 4.000 156.0 231.0 86.00 0.0000 1.000 1.000 924.0
4.000 4.000 2.000 1.000 4.000 1.000 4.000 7.000 3.000 1.000 5.000 55.00 - 247.0 251.0 49.00 172.0 246.0 204.0 42.00
Posted by Daniel Wasilewski   @    21 April 2011 1 comments
 1 Comments
Comments
Trackbacks to this post.
Leave a comment

Previous Post
Next Post
»