The assumption I'm making is that they need to be "recompiled" (is this term showing my age?) and released to include the new webkit.
I'm afraid not. I thought the same thing but I just emailed the developer of the browser I use, iCab. He's in Germany and I emailed him at 9pm his time so, due to time, he was a bit slow in replying - he took a whole hour and 9 minutes to get back to me (this guy's email support is just amazing)!
Anyway, he gave me permission to post his reply so here it is. My questions are preceded by ">" (and, in my defence, I was trying to enumerate all logical possibilities with my thought that a flag might need to be set, I never thought that would make much sense) ...
>I just upgraded my iPad 1 to iOS 4.3 and tried running the SunSpider
>0.9.1 benchmark in iCab Mobile. It ran slightly slower on iOS 4.3 vs
>4.2 (about 8600 vs about 8350 for iOS 4.2) whereas Safari showed the
>speedup that all the articles are talking about (about 3300 under iOS
>4.3). I hear on Macrumors forum that Atomic also doesn't see any
>speedup with 4.3
Yes, according to Apple, this is a "known issue". So this seems to be
either a bug in iOS 4.3, or maybe this is intentional and Apple will test
this exclusively in their own Apps first, before making this new
engine available for other Apps as well.
Currently, the new JS engine seems to be Safari only. No other App
can use it at the moment. We have to wait for Apple to fix this.
>I'd assumed that the new Nitro JavaScript engine was in the WebKit and
>so all third part browsers would automatically see the benefits. Is
Yes, this was my assumtion too. But it looks like this is not the case.
>this not the case, or is some code change required in iCab to set a
>flag or something to say that you want to enable nitro? Is there hope
There's no such flag. And it would not make any sense to have such a
flag. All Apps would always want to use the faster and better engine.
>that iCab will get to the same performance as Safari or have Apple
>deliberately done something to hurt third party browsers?
Apple has to fix this. Otherwise other Apps can not get the same
performance because there are no other engines allowed than the ones
which are built-in in the iOS and which the iOS provides through the
public API to the developers.
>I expect you've had this question a hundred times this week so please
>let me know if it is OK to post any answer you give on forums - it
>might save you from a few extra emails asking this question.
Yes, this is OK.
In short: Only Apple can fix this. "Nitro" seems to be exclusively used
in Safari at the moment. No other App is able to use it. I guess (and hope)
that one of the next iOS releases will fix this.
This guy is a hardcore iOS developer, blogging about detailed iOS programming techniques (
http://www.icab.de/blog/), so I have great confidence in information that he gives. I think that we're at the mercy of Apple on this one.
- Julian