Browser War – Part 3: Safari 3.1.1 & Nightlies

Firefox 2 took on FF3RC1, Internet Explorer 7 took on IE8b, so who’s duking it out in round 3? Safari 3.1.1 vs SF nightlies.

Some might be thinking it seems like a shorter gap in browser versions – why not Safari 3.0 through 3.0.4, or even 3.1 to show greater self improvement? First, we opted for current supported release vs betas. We did use Firefox 2.0.0.14 and the most up-to-date IE7 we could find for previous matches. Secondly, since we planned this series 3.1.1 became GA, so we decided to do Safari 3.1.1 build 525.17 (which was at least pushed to the masses) vs WebKit r33940 (the open-source browser engine packaged close to Safari 3.1.1 build 525.20).
 
But as you can see Safari clearly doesn’t need the moral boost anyways:

BW Safari 3.1.1 & Nightlies  
You know the drill: We used an OpenQA Selenium setup to calculate time rendering a page; across the same set of saved actions such as logging in, composing and viewing messages, navigating around various folders, switching between our many apps, and even changing options.

Those might not look like huge jumps, but Safari builds have been churned out so fast – and nothing on that graph is over 2 seconds. The older version only wins in a handful of cases, but that could easily be due to other test-harness factors when your dealing with 1/100th’s of a second.

 
Safari has clearly been working out – it’s fit, and plans to stay that way by avoiding dessert.
 
Mac users rejoice: Apple released Safari 3.1.1 build 525.20 (~WebKit r33940) on May 28th with Mac OS X v10.5.3.
 
Windows machines have Safari 3.1.1 but it’s still build 525.17, so some stuff hasn’t been incorporated into Windows releases yet; and Apple either takes their time distributing updates, or they’re waiting on a Safari 4 version before next push. Don’t fret, it’s still decently fast and you’ll have the latest JS engine soon no doubt.
BW Safari total time

 
There’s already a developer seed of Safari 4 released. Which includes the SquirrelFish JavaScript interpreter (renamed from GlassFish to avoid confusion with Apple’s other Java stuff). SquirrelFish is a bytecode engine which eliminates almost all of the overhead of a tree-walking JavaScript interpreter. It also leaves room to experiment with things like constant folding, type inference, specialization based on expression context, peephole optimization, and escape analysis but they haven’t implemented all that yet. Safari 4 adds the ability to save webpages as standalone web applications (much like site-specific browsers such as Fluid, Adobe AIR, Bubbles, the favorite Mozilla Prism and countless others), some CCS enhancements to gradients, masks, and reflections, as well as additional native font rendering which provides a better experience for Windows users.
 
You can grab the nightlies (currently WebKit r34581) here. Or grab the current Safari GA by heading over to Apple’s site.


*Test machines were running AMD Opteron 1.8GHz Dual-cores with 2GB RAM against ZCS 5.0.6 GA RHEL4. As always performance will vary based on system configuration, network connection, and other factors like account data and preferences.

Comments are closed.

Copyright © 2022 Zimbra, Inc. All rights reserved.

All information contained in this blog is intended for informational purposes only. Synacor, Inc. is not responsible or liable in any manner for the use or misuse of any technical content provided herein. No specific or implied warranty is provided in association with the information or application of the information provided herein, including, but not limited to, use, misuse or distribution of such information by any user. The user assumes any and all risk pertaining to the use or distribution in any form of any subject matter contained in this blog.

Legal Information | Privacy Policy | Do Not Sell My Personal Information | CCPA Disclosures