By John Gruber
Square Reader SDK lets you use Square hardware to take payments in your app.
It calls a simple recursive function 3000 times. Pre-SquirrelFish versions of WebKit fail with any number higher than 499. Firefox 3.0.1 works up to 2,999 recursions. A recent WebKit nightly, with SquirrelFish, worked for me up to 43,687, which is pretty deep. MobileSafari in iPhone OS 2.0 has the same limit as Safari 3.1.2: 499.
Recursion depth, in and of itself, isn’t particularly important. It’s just a particularly simple way to distinguish pre- and post-SquirrelFish versions of WebKit. And so since we now know that the iPhone isn’t yet using SquirrelFish, it means further dramatic performance improvements are on the horizon.