I just ran the SunSpider JavaScript Benchmark on my iPad and my (2.66GHz Unibody) MacBook Pro. The raw results are here and here, respectively. Here's the comparison:
TEST COMPARISON FROM TO DETAILS
=============================================================================
** TOTAL **: 26.7x as fast 10999.0ms +/- 0.7% 412.0ms +/- 1.0% significant
=============================================================================
3d: 38.7x as fast 1995.2ms +/- 1.7% 51.6ms +/- 1.3% significant
cube: 39.9x as fast 622.2ms +/- 3.5% 15.6ms +/- 4.4% significant
morph: 41.5x as fast 796.8ms +/- 0.9% 19.2ms +/- 5.4% significant
raytrace: 34.3x as fast 576.2ms +/- 1.5% 16.8ms +/- 3.3% significant
access: 41.4x as fast 1621.0ms +/- 2.5% 39.2ms +/- 2.7% significant
binary-trees: 20.4x as fast 114.2ms +/- 2.9% 5.6ms +/- 12.2% significant
fannkuch: 37.5x as fast 562.0ms +/- 3.8% 15.0ms +/- 5.9% significant
nbody: 75.2x as fast 751.8ms +/- 2.9% 10.0ms +/- 8.8% significant
nsieve: 22.4x as fast 193.0ms +/- 1.8% 8.6ms +/- 12.9% significant
bitops: 39.6x as fast 895.8ms +/- 4.4% 22.6ms +/- 9.2% significant
3bit-bits-in-byte: 52.2x as fast 167.0ms +/- 2.2% 3.2ms +/- 17.4% significant
bits-in-byte: 22.1x as fast 159.0ms +/- 3.1% 7.2ms +/- 14.4% significant
bitwise-and: 33.7x as fast 154.8ms +/- 27.5% 4.6ms +/- 14.8% significant
nsieve-bits: 54.6x as fast 415.0ms +/- 0.5% 7.6ms +/- 14.6% significant
controlflow: 33.6x as fast 134.6ms +/- 1.8% 4.0ms +/- 22.0% significant
recursive: 33.6x as fast 134.6ms +/- 1.8% 4.0ms +/- 22.0% significant
crypto: 31.3x as fast 777.4ms +/- 0.5% 24.8ms +/- 4.2% significant
aes: 17.4x as fast 229.6ms +/- 1.2% 13.2ms +/- 10.3% significant
md5: 41.8x as fast 267.8ms +/- 1.7% 6.4ms +/- 10.6% significant
sha1: 53.8x as fast 280.0ms +/- 2.5% 5.2ms +/- 10.7% significant
date: 12.5x as fast 739.8ms +/- 1.4% 59.0ms +/- 4.7% significant
format-tofte: 12.3x as fast 331.0ms +/- 1.1% 27.0ms +/- 6.5% significant
format-xparb: 12.8x as fast 408.8ms +/- 1.8% 32.0ms +/- 9.1% significant
math: 44.1x as fast 1543.4ms +/- 0.2% 35.0ms +/- 5.6% significant
cordic: 55.6x as fast 544.6ms +/- 0.6% 9.8ms +/- 5.7% significant
partial-sums: 32.9x as fast 579.0ms +/- 0.5% 17.6ms +/- 9.5% significant
spectral-norm: 55.2x as fast 419.8ms +/- 0.5% 7.6ms +/- 9.0% significant
regexp: 47.6x as fast 989.8ms +/- 0.7% 20.8ms +/- 7.8% significant
dna: 47.6x as fast 989.8ms +/- 0.7% 20.8ms +/- 7.8% significant
string: 14.9x as fast 2302.0ms +/- 1.4% 155.0ms +/- 1.5% significant
base64: 20.4x as fast 334.8ms +/- 0.9% 16.4ms +/- 6.8% significant
fasta: 15.1x as fast 452.8ms +/- 2.4% 30.0ms +/- 2.9% significant
tagcloud: 11.7x as fast 385.2ms +/- 4.3% 33.0ms +/- 0.0% significant
unpack-code: 13.5x as fast 620.2ms +/- 1.2% 45.8ms +/- 3.5% significant
validate-input: 17.1x as fast 509.0ms +/- 1.1% 29.8ms +/- 3.5% significant
It's one thing not to be able to run Flash apps. But JavaScript performance like this effectively means the iPad can't run complex JavaScript apps either. Interesting.
Update: Tim Anderson reports that even his $325 netbook runs the SunSpider benchmark 4.5x faster than an iPad. This (plus, of course, Flash support) could turn out to be a distinct competitive advantage for Google Chrome OS netbooks, which will surely be JavaScript speed demons.
Update 2: Iñaki Rodríguez ran the benchmark on his Acer 1810T netbook ($612 at Amazon) running Google Chrome. The results were 13.3x as fast as an iPad. This could turn out to be a BFD.
Update 3: According to the benchmark, the iPad runs JavaScript 1.52x as fast as an iPhone 3GS.
Any machine that runs JavaScript faster than an iPad will also consume batteries that much faster. And that is a competitive disadvantage.
Posted by: Billba | May 04, 2010 at 01:58 PM
I feel pretty confident that iPhone OS 4 will bring a speed improvement to Safari's JavaScript engine.
Just sayin
Posted by: Jim Robert | May 04, 2010 at 02:06 PM
Billba-
So poor JavaScript performance is a... competitive advantage? Dude, the RDF is strong with you.
Jim-
I sure hope so! :-)
-c
Posted by: Charlie Wood | May 04, 2010 at 02:09 PM
And have you noticed this to be an actual problem, in practice, or are you just obsessing over benchmarks?
Posted by: Chris | May 04, 2010 at 02:09 PM
With Html5 javascript is no longer required. Please look at nojax264 standard. As mentioned above it also helps with battery life. And it crashes constantly, besides being aesthetically sub-par. BTW IE9 will no support it either.
Posted by: VJ | May 04, 2010 at 02:15 PM
I'm presuming that's Safari on the MBP. I wonder how Chrome fares since it's allegedly faster?
(Though I don't know what standard the Mac builds are at, since I don't have a Mac)
Posted by: Macha | May 04, 2010 at 02:15 PM
htc incredible with several apps running at the same time. browser running flash lite.
http://bit.ly/aqzv86
Posted by: Darren Kopp | May 04, 2010 at 02:17 PM
"But JavaScript performance like this effectively means the iPad can't run complex JavaScript apps either. "
This statement is FUD.
While I don't dispute a full laptop will be faster than a mobile chip on a synthetic benchmark, I am wondering what real-world website you don't feel you can run on the iPad due to slower JS performance. Examples?
Heavy ajax sites like gmail run quite well on the iPad. Yes, I have an iPad and use it for such sites everyday (including for writing this post).
Posted by: Glenn Rempe | May 04, 2010 at 02:28 PM
And in other news... Bicycles report slower times in quarter mile tests than new Tesla sports car. This effectively means bicycles cannot be relied upon for transportation.
Posted by: Glenn Rempe | May 04, 2010 at 02:31 PM
Glenn-
It's not FUD but you're right, I should have cited examples. It's really heavy-JS apps like http://almost.at and other Cappuccino apps (like our very own http://spanningbackup.com/) that really show the problem.
I understand that iPads aren't supposed to be laptop replacements (BTW I *love* mine) but they should be able to run web apps at least as well as junky netbooks.
-c
Posted by: Charlie Wood | May 04, 2010 at 02:34 PM
If this was just informational, the post would be stronger, but it's stated although this is a bad thing.
As Glenn Rempe pointed out very well, you ride a bike for certain reasons and you drive a sports car for others. To expect the same things out of either would be shortsighted at best.
An iPad does what an iPad should do extremely well. If a laptop could not significantly best it's performance, I would fear for the longevity of that laptop's maker.
Posted by: David Bishop | May 04, 2010 at 02:41 PM
Since it was mentioned earlier, I ran the tests on the newest Beta of Google Chome (5.0.375.29) on my 8-Core Dual Xeon Mac Pro:
http://www2.webkit.org/perf/sunspider-0.9/sunspider-results.html?%7B%223d-cube%22:%5B21,29,28,25,25%5D,%223d-morph%22:%5B22,15,15,16,14%5D,%223d-raytrace%22:%5B15,14,14,14,13%5D,%22access-binary-trees%22:%5B2,2,1,1,2%5D,%22access-fannkuch%22:%5B14,14,14,14,14%5D,%22access-nbody%22:%5B13,11,11,11,11%5D,%22access-nsieve%22:%5B4,5,4,4,4%5D,%22bitops-3bit-bits-in-byte%22:%5B2,3,3,2,2%5D,%22bitops-bits-in-byte%22:%5B8,8,8,7,8%5D,%22bitops-bitwise-and%22:%5B8,10,8,10,10%5D,%22bitops-nsieve-bits%22:%5B11,10,10,11,11%5D,%22controlflow-recursive%22:%5B3,3,2,3,2%5D,%22crypto-aes%22:%5B9,9,8,9,8%5D,%22crypto-md5%22:%5B6,6,6,7,6%5D,%22crypto-sha1%22:%5B6,6,6,6,6%5D,%22date-format-tofte%22:%5B19,19,18,18,18%5D,%22date-format-xparb%22:%5B19,20,18,20,19%5D,%22math-cordic%22:%5B13,11,11,10,11%5D,%22math-partial-sums%22:%5B17,17,15,15,15%5D,%22math-spectral-norm%22:%5B6,5,5,5,5%5D,%22regexp-dna%22:%5B16,16,17,16,16%5D,%22string-base64%22:%5B10,10,10,11,10%5D,%22string-fasta%22:%5B15,15,15,15,15%5D,%22string-tagcloud%22:%5B29,28,28,29,27%5D,%22string-unpack-code%22:%5B32,32,31,30,32%5D,%22string-validate-input%22:%5B15,15,17,16,15%5D%7D
33.6x Faster than the iPad referened by the original poster, and
1.26x Faster than his MBP, which I'm guessing is mostly due to Chrome moreso than the difference in raw power of the MacPro vs. MacBook Pro
Posted by: Eric G. Elinow | May 04, 2010 at 03:06 PM
After my last reply decided to run across 5 browsers, results (fastest to slowest):
Safari Nightly (Webkit) 4.0.5 (6531.22.7, r58691): 311.4ms
Chrome 5.0.375.29: 328.2ms
Safari 4.0.5 (6531.22.7): 371.2ms
Opera 10.50 pre-alpha (8166): 416.6ms
Firefox 3.6 (20100115): 949.8ms
Looks like the webkit nightly updates are edging out Chrome's most recent release. Firefox, as expected, is dead last however I wouldn't have expected it to be more than twice as slow as Opera.
Posted by: Eric G. Elinow | May 04, 2010 at 03:15 PM
@Charlie
"It's really heavy-JS apps like http://almost.at and other Cappuccino apps (like our very own http://spanningbackup.com/) that really show the problem."
I love Cappuccino, and SproutCore, and I applaud the direction they (and you) are going with true web applications that are closer to desktop feel and functionality.
That being said I hate to break it to you though that the http://almost.at site feels pretty sluggish even on my desktop Mac (2.3Ghz Core2 Duo) running the latest Chrome dev channel build. It takes ~10 seconds to page load even when cached. So I'm not sure why you would expect an app which struggles to some degree on the desktop to perform at anything but a sub-par level on an ARM chip mobile device that is severely constrained on CPU and RAM. Perhaps there is still some optimization to be done within Cappuccino (which is still in Beta) or your apps implementation with it.
The comparison to 'junky netbooks', which run primarily the Atom chip is not really valid either IMHO. Apple, and its buyers, made conscious engineering decisions to use a custom ARM chip which strikes a balance in favor of sipping energy instead of pure performance which results in the real world 10+ hours of video playback for instance. This is a tradeoff of horsepower in the energy sense of the word and the reason that no smartphone platforms are using Atom chips. At this moment in time there are few JavaScript apps which truly push the limits as yours does. I would not trade my excellent all day battery life for faster performance in benchmarks or the few sites that can truly tax the device. My device still feels quite snappy on the vast majority of websites, even those that are considered javascript heavy by todays standards (e.g. GMail).
Personally, I'm still wondering what you were trying to accomplish with this article.
Cheers.
PS - The new SproutCore touch library which was just released performs terrifically on the iPad if the demos are representative of real world apps. In addition they have the benefit of being designed to work in a touch environment which Cappuccino is currently not optimized for from a UI interaction perspective.
See : http://bit.ly/b8gZ5z
Posted by: Glenn Rempe | May 04, 2010 at 04:53 PM
The thing is that Apple knows that only 5% of the market cares. The tinkerers, and true tech geeks might be turned off by the slow performance, but the vast majority of everybody is happy if it looks nice in their living room.
Posted by: Matt | May 04, 2010 at 05:03 PM
derp
Posted by: _derp_ | May 04, 2010 at 05:17 PM
For day to day web browsing - isn't the iPad showing that the time to download is usually > time to render? That you're more likely to feel lag because the page is still downloading, than it's downloaded, but you're waiting for it to render?
Posted by: Tom | May 04, 2010 at 05:34 PM