Steve Levine

Archive for the ‘WebKit’ tag

New Webkit Feature

without comments

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.

This entry was posted by Steve on Wednesday, January 14th, 2009 at 11:20 am and is filed under: . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

WebKit Day 2.5 Benchmarks

with 2 comments

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%

This entry was posted by Steve on Wednesday, September 24th, 2008 at 9:31 am and is filed under: , . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

WebKit Day 2 – Benchmarks

without comments

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.

This entry was posted by Steve on Monday, June 30th, 2008 at 9:49 am and is filed under: , . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Giving WebKit A Try

with one comment

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)

  1. No new tab button
  2. No Google suggest built in to the search box
  3. No way to configure links to open in new tabs rather than new windows
  4. No AdBlock plus (plugin)
  5. No Google Bookmarks button (plugin)
Initial Solutions to the “Shortcomings”
  1. 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.
  2. 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.
  3. This awesome tip shows you how to tell WebKit to open all links in new tabs instead of new windows.
  4. 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.
  5. 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.
  6. Update: If you want the tab bar to always display even with one active tab use this great tip.

Conclusion

There you have it, in a little less than two hours, default WebKit was transformed in to a Firefox 3 feature compatible browser.  Look for a post in a few days to give my updated thoughts on Webkit after using it for a while.

This entry was posted by Steve on Friday, June 27th, 2008 at 3:26 pm and is filed under: , . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Fork me on GitHub Fork me on GitHub