Archive for the ‘WebKit’ tag
New Webkit Feature
Just noticed a new and important feature released with the latest nighty build of Webkit, namely, an option to check for updates automatically. Mozilla has had this feature in their browsers for a long time, and it was hard not having it available in Webkit. Just got used to downloading a new version every so often.
The days of remembering to update Webkit are now over, the latest nightly knows how to keep it self in sync with the current nightly build.
Here is the option you are presented with the first time you open the latest Webkit.

If you choose to say no to the above dialog, or if you are like me and you leave your browser open all the time, and you want to check for updates manually there is that option too.

Once the process is complete, you will see the following dialog letting you know you are up to date.

It is great to see this much needed feature has finally arrived in Webkit. Hopefully this will entice more people to jump on the Webkit nightly bandwagon.
WebKit Day 2.5 Benchmarks
The recent release of Google Chrome Beta for Windows has re-stirred the good old browser wars. Chrome is based on WebKit, but uses the V8 Javascript Engine Currently Chrome is a Windows only browser, so it is not possible for me to benchmark the browser first hand, but the claims have been that it is faster than both Firefox and WebKit on Windows.
Those are pretty bold claims, especially since the folks over at WebKit just released the SquirrelFish Extreme Javascript engine. Based on my initial personal non-scientific benchmarks, it looks fast! Almost 2x’s as fast as the previous SquirrelFish implementation. See the results below.
After using WebKit for the past two months it is clear to me, WebKit is the best browser for me on Mac. There is one small issue with using WebKit, namely, since you are running a nightly build, you need download and update the binary quite often, and some of the time, the daily build is not the stablest. Again, this is just a minor price to pay in order to take advantage of the latest and greatest build. It is nothing specific to WebKit, it applies to any beta software.
Latest Results
TEST COMPARISON FROM TO
(SquirrelFish) (SquirrelFish Extreme)
=============================================================================
** TOTAL **: 1.86x as fast 1918.6ms +/- 0.9% 1032.6ms +/- 1.4%
=============================================================================
3d: 1.59x as fast 260.6ms +/- 2.9% 164.2ms +/- 4.6%
cube: 1.53x as fast 84.2ms +/- 5.9% 55.2ms +/- 4.3%
morph: 1.36x as fast 82.8ms +/- 2.0% 61.0ms +/- 4.8%
raytrace: 1.95x as fast 93.6ms +/- 4.3% 48.0ms +/- 11.1%
access: 2.49x as fast 280.2ms +/- 4.1% 112.4ms +/- 6.0%
binary-trees: 1.64x as fast 36.0ms +/- 15.1% 22.0ms +/- 22.2%
fannkuch: 4.76x as fast 88.6ms +/- 3.8% 18.6ms +/- 9.0%
nbody: 2.03x as fast 124.8ms +/- 7.3% 61.6ms +/- 2.3%
bitops: 2.31x as fast 188.8ms +/- 4.5% 81.8ms +/- 9.9%
3bit-bits-in-byte: 1.96x as fast 26.6ms +/- 13.5% 13.6ms +/- 24.7%
bits-in-byte: 1.96x as fast 32.6ms +/- 8.8% 16.6ms +/- 22.2%
bitwise-and: 1.77x as fast 54.8ms +/- 4.4% 31.0ms +/- 15.5%
nsieve-bits: 3.63x as fast 74.8ms +/- 14.5% 20.6ms +/- 15.7%
controlflow: 1.35x as fast 27.0ms +/- 22.6% 20.0ms +/- 19.2%
recursive: 1.35x as fast 27.0ms +/- 22.6% 20.0ms +/- 19.2%
crypto: 1.98x as fast 129.6ms +/- 7.7% 65.4ms +/- 6.7%
aes: 2.51x as fast 45.6ms +/- 14.8% 18.2ms +/- 24.3%
md5: 1.74x as fast 39.6ms +/- 14.8% 22.8ms +/- 6.0%
sha1: 1.82x as fast 44.4ms +/- 27.6% 24.4ms +/- 6.8%
date: 1.78x as fast 172.6ms +/- 2.6% 96.8ms +/- 2.9%
format-tofte: 2.42x as fast 105.2ms +/- 3.5% 43.4ms +/- 3.3%
format-xparb: 1.26x as fast 67.4ms +/- 5.6% 53.4ms +/- 5.8%
math: 1.50x as fast 206.6ms +/- 4.1% 138.0ms +/- 1.7%
cordic: 1.59x as fast 67.6ms +/- 5.9% 42.4ms +/- 4.4%
partial-sums: 1.45x as fast 97.8ms +/- 3.7% 67.6ms +/- 3.6%
spectral-norm: 1.47x as fast 41.2ms +/- 8.6% 28.0ms +/- 6.3%
regexp: 4.27x as fast 198.8ms +/- 1.6% 46.6ms +/- 6.4%
dna: 4.27x as fast 198.8ms +/- 1.6% 46.6ms +/- 6.4%
string: 1.48x as fast 454.4ms +/- 1.6% 307.4ms +/- 2.4%
base64: 2.56x as fast 64.6ms +/- 4.0% 25.2ms +/- 10.7%
fasta: 1.43x as fast 85.4ms +/- 3.4% 59.6ms +/- 5.6%
tagcloud: 1.14x as fast 112.0ms +/- 7.2% 98.2ms +/- 2.7%
unpack-code: 1.75x as fast 118.6ms +/- 3.4% 67.8ms +/- 3.0%
validate-input: 1.30x as fast 73.8ms +/- 4.0% 56.6ms +/- 9.5%
WebKit Day 2 – Benchmarks
After using WebKit for the past few days it is evident to me that it performs better than Firefox on my Macs. The question is how much better? Is it possible to quantify the performance difference? After searching around found this JavaScript benchmarking site.
Details
The data was obtained by running the SunSpider JavaScript Benchmark.
The benchmark was run on a 2.4GHz Core 2 Duo MacBook equipped with 4 gigs of memory running Leopard (10.5.3).
To generate the below results for your self, follow the WebKit Results Link and then paste the Firefox results link in to the box that says “To compare to another run…”
TEST COMPARISON FROM (Firefox) TO (WebKit Nightly)
=============================================================================
** TOTAL **: 1.57x as fast 3002.8ms +/- 1.3% 1918.6ms +/- 0.9%
=============================================================================
3d: 1.47x as fast 383.8ms +/- 7.3% 260.6ms +/- 2.9%
cube: 1.61x as fast 135.2ms +/- 2.9% 84.2ms +/- 5.9%
morph: 1.53x as fast 126.4ms +/- 20.3% 82.8ms +/- 2.0%
raytrace: 1.31x as fast 122.2ms +/- 4.7% 93.6ms +/- 4.3%
access: 1.49x as fast 418.2ms +/- 3.4% 280.2ms +/- 4.1%
binary-trees: 1.38x as fast 49.8ms +/- 3.7% 36.0ms +/- 15.1%
fannkuch: 1.83x as fast 162.4ms +/- 4.5% 88.6ms +/- 3.8%
nbody: 1.19x as fast 149.0ms +/- 7.6% 124.8ms +/- 7.3%
nsieve: 1.85x as fast 57.0ms +/- 9.5% 30.8ms +/- 7.2%
bitops: 1.57x as fast 296.6ms +/- 3.6% 188.8ms +/- 4.5%
3bit-bits-in-byte: 1.84x as fast 49.0ms +/- 10.3% 26.6ms +/- 13.5%
bits-in-byte: 2.34x as fast 76.2ms +/- 3.1% 32.6ms +/- 8.8%
bitwise-and: 1.43x as fast 78.2ms +/- 5.9% 54.8ms +/- 4.4%
nsieve-bits: 1.25x as fast 93.2ms +/- 7.7% 74.8ms +/- 14.5%
controlflow: 1.46x as fast 39.4ms +/- 6.9% 27.0ms +/- 22.6%
recursive: 1.46x as fast 39.4ms +/- 6.9% 27.0ms +/- 22.6%
crypto: 1.44x as fast 186.8ms +/- 3.7% 129.6ms +/- 7.7%
aes: 1.59x as fast 72.4ms +/- 4.9% 45.6ms +/- 14.8%
md5: 1.45x as fast 57.6ms +/- 7.6% 39.6ms +/- 14.8%
sha1: 1.28x as fast 56.8ms +/- 9.3% 44.4ms +/- 27.6%
date: 2.12x as fast 365.8ms +/- 2.1% 172.6ms +/- 2.6%
format-tofte: 2.01x as fast 211.8ms +/- 1.1% 105.2ms +/- 3.5%
format-xparb: 2.28x as fast 154.0ms +/- 4.5% 67.4ms +/- 5.6%
math: 1.51x as fast 312.6ms +/- 4.9% 206.6ms +/- 4.1%
cordic: 1.79x as fast 121.2ms +/- 2.9% 67.6ms +/- 5.9%
partial-sums: 1.35x as fast 132.2ms +/- 9.7% 97.8ms +/- 3.7%
spectral-norm: 1.44x as fast 59.2ms +/- 8.3% 41.2ms +/- 8.6%
regexp: 1.33x as fast 265.0ms +/- 0.5% 198.8ms +/- 1.6%
dna: 1.33x as fast 265.0ms +/- 0.5% 198.8ms +/- 1.6%
string: 1.62x as fast 734.6ms +/- 0.7% 454.4ms +/- 1.6%
base64: 1.33x as fast 85.8ms +/- 1.9% 64.6ms +/- 4.0%
fasta: 2.25x as fast 192.2ms +/- 2.3% 85.4ms +/- 3.4%
tagcloud: 1.38x as fast 154.2ms +/- 1.4% 112.0ms +/- 7.2%
unpack-code: 1.67x as fast 197.8ms +/- 0.5% 118.6ms +/- 3.4%
validate-input: 1.42x as fast 104.6ms +/- 1.4% 73.8ms +/- 4.0%
As you can see from the benchmark results, WebKit performs ~1.57x’s faster. The results are pretty much in line with my browsing experience. Please keep in mind these results are very specific to the conditions of my network, my computer, and the current utilization of the web server. Your results may vary.
Disclaimer
Please keep in mind benchmarks are benchmarks, and they are nothing more than numbers. This benchmark was not chosen because it favors WebKit in any way. Several sites use it to compare not only WebKit, but other browsers on other operating systems as well. Example here.
FYI
Webkit comes in ~1.68x’s faster than Safari 3.1.1. Safari 4 should be comparable to WebKit, since Safari 4 is based on the same code base as the current WebKit build which is based on the SquirrelFish JavaScript engine.
Giving WebKit A Try
Just changed my default browser from Firefox to Webkit on Leopard (OS X 10.5.3). The main reason was because of the announcement of WebKits migration to the SquirrelFish Javascript interpreter. They claim that it is 1.6x’s faster than the previous WebKit interpreter and if its true, that is pretty good considering most of my daily work flow is based around web based applications.
Initial thoughts
It has only been a few hours since the switch, but I must say I am quite impressed with the performance especially on sites like GMail, Google Reader, and the TinyMCE editor for my blog. TinyMCE is not only faster, but now its “true” functionality is exposed as well. There are a few features available that were not available when using Firefox. The speed improvements alone are not really enough to keep my interest for long because of the other features WebKit lacks over Firefox. If there was a way to close the functionality gap, then we may have our selves a new default browser.
WebKit’s “Shortcomings” (Compared to Firefox + Favorite Plugins)
- No new tab button
- No Google suggest built in to the search box
- No way to configure links to open in new tabs rather than new windows
- No AdBlock plus (plugin)
- No Google Bookmarks button (plugin)
- This application will add a “New Tab” button on WebKit for you. If you decide to install it, make sure you back up your Safari directory prior to running the installer, as recommended by the author.
- Inquisitor 3 will provide you google suggest like functionality in your search box. It is quite customizable, thus you can configure it use different search engines, display keyword results or web page results, among many other customizations.
- This awesome tip shows you how to tell WebKit to open all links in new tabs instead of new windows.
- Safari AdBlock is a drop in replacement for the Firefox plugin Adblck Plus. Set it, and forget it. Very easy to use. Haven’t really tested it yet with too many sites, but from the few sites it was tested with, the results look good.
- Update: Switched to SafariBlock because Safari AdBlock was letting too many adds slip through, especially Flash ones.
- Update Two: Switched to GlimmerBlock because SafariBlock was not really working well with Safari 4.
- Still working on it. Any Suggestions would be greatly appreciated. If nothing shows up, will start working on a new browser plug in to handle it.
- Update: Found a plugin called “Goggles” that provides access to Google Bookmarks.
- Update: If you want the tab bar to always display even with one active tab use this great tip.
Conclusion


