func20000 – how far does your UA get?

As a follow up to Hallvord R. M. Steen‘s outdated post (Wednesday, 28. November 2007), I’d like to point your attention to a gigantic performance increase in Opera!

I haven’t done in-depth research to find out when this improvement occurred, but I suspect it was with Opera 10.50-10.60 and the many JavaScript improvements that came along with these updates.

In my tests, I found that Opera went from a previous “top score” of 4998 to 16382! Doing the math that proves to be an increase of approximately ~3.28 times the performance in Opera 10.20 (my last posted result on his blog post). Here is what my testing line-up looks like:

  1. Opera 10.60
    - died when trying to call function 16382, error was “Maximum recursion depth exceeded”
  2. Google Chromium 6.0.423.0 (48614) Ubuntu
    - died when trying to call function 13059, error was “undefined”
  3. Firefox 3.6.3
    - died when trying to call function 3000, error was “too much recursion”

As you can see, Opera is leading the pack (is it really a surprise? :P).

What does this all mean?
Well, your guess is as good as mine, but to (reword and) repeat the topic question as an answer…I guess it means that Opera can out-depth other browsers in the level of function calls that they can handle.

If you look at the code then you might find it easier to understand, but basically..its like: a function calling another function…calling another function…calling another function…calling another function…(multiply that a few times)…calling another function to get to the final function. Recursion.

Is this something I will see while browsing the web?
I highly doubt you will see any depth calls to this extreme for a long time (if ever). My interpretation of this feat is that Opera has a unique ability to handle and process extreme recursion, which is a stressing task in itself.

If you’d like to test this for yourself, you can test Hallvord’s func5000.htm or you can test my func20000.htm.

If you’re testing func20000, download the zip, extract and simply open the extracted html file in your browser of choice! Share your results for other browsers if you wish! I’m curious to see the results from other browsers!

10 Responses to “func20000 – how far does your UA get?”

Leave a Reply