<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A Modest Construct &#187; benchmarks</title>
	<atom:link href="http://heliologue.com/tag/benchmarks/feed/" rel="self" type="application/rss+xml" />
	<link>http://heliologue.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Feb 2012 17:18:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linux Command-Line Compressors Compared</title>
		<link>http://heliologue.com/2011/05/03/linux-command-line-compressors-compared/</link>
		<comments>http://heliologue.com/2011/05/03/linux-command-line-compressors-compared/#comments</comments>
		<pubDate>Tue, 03 May 2011 13:22:31 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=7042</guid>
		<description><![CDATA[A long time ago, I ran a comparison of various command-line compressors in Linux. Recently, intrigued by the rise of parallel computing and the emergence of multi-processor versions of old *nix favorites like gzip and bzip2, I thought I&#8217;d give the benchmark another go. The Setup My machine is an Intel Core 2 Quad Q6600 [...]]]></description>
			<content:encoded><![CDATA[<p>A long time ago, I ran a <a href="http://heliologue.com/2007/02/01/linux-command-line-compressor-benchmarks/">comparison</a> of various command-line compressors in Linux.  Recently, intrigued by the rise of parallel computing and the emergence of multi-processor versions of old *nix favorites like gzip and bzip2, I thought I&#8217;d give the benchmark another go.</p>
<p><span id="more-7042"></span></p>
<h3>The Setup</h3>
<p>My machine is an Intel Core 2 Quad Q6600 [2.4Ghz] on a Gigabyte GA-N680SLI-DQ6 (nVidia 680i), with 4GB of Corsair XMS2(PC2 6400).  The tests were run on a vanilla installation of Ubuntu 10.10 x64, fully updated.  The compressors themselves were compiled by me from source code, so I would have the latest and greatest at the time of testing.</p>
<p>I did not use a RAM disk, since I wanted all of my available RAM available for compression (some of the tests used aggressive settings).  I did use a freshly-formatted SATA disk for the purpose, however.  For further information, see the methodology and results.</p>
<p>Timing was done with the GNU <code>time</code> command.</p>
<h3>The Compressors</h3>
<ul>
<li><a rel="external" href="http://www.gnu.org/software/gzip/"><b>gzip</b></a>. Perhaps the most well-known compressor on Linux, gzip is a DEFLATE-based compressor which offers moderate compression at a very fast speed. Note: I made the mistake of retrieving the sources from <a href="http://www.gzip.org">www.gzip.org</a>, which has links to v1.2.4, from 1999.  The most recent stable version is 1.4, from <a href="http://ftp.gnu.org/gnu/gzip/">GNU&#8217;s servers</a>. The version reflected in the benchmark, therefore, is out of date.</li>
<li><a rel="external" href="http://bzip.org/"><b>bzip2</b></a>. An old favorite, bzip2 is a basic block-level compressor which is more aggressive than its cousin, gzip, at the cost of speed.</li>
<li><a rel="external" href="http://tukaani.org/xz/"><b>xz</b></a>.  A relatively new compressor, xz arose from the ashes of <a href="http://tukaani.org/lzma/">LZMAUtils</a>, an implementation of the LZMA compression spec from Igor Pavlov&#8217;s 7-zip project. xz is is the command-line equivalent, and similar in usage to gzip and bzip2; more to the point, it&#8217;s been accepted by the GNU toolchain and now has its own filter in tar (-J).</li>
<li><a rel="external" href="http://rzip.samba.org/"><b>rzip</b></a>.  Originally written by Andrew Tridgell (of Samba fame, and who indirectly caused <i>git</i>, when you think about it) as a doctoral project.  It functions similarly to gzip and bzip2, according to its author, but attempts to take advantage of &#8220;long-distance redundancies&#8221; in larger files; that is, where bzip2 may only process 900K chunks at a time, rzip will seek to look beyond that in order to eek out additional compression.</li>
<li><a rel="external" href="http://www.lzop.org/"><b>lzop</b></a>. One of the Lempel-Ziv-Oberhumer (LZO) compressors, it focuses on decompression speed rather than pure compression.</li>
<li><a rel="external" href="http://ncompress.sourceforge.net/"><b>compress</b></a>. Though not really a contender in any real zip, I included the old <i>compress</i> program for comparative purposes.  Compress is a fast LZW compressor which creates .Z files, and can be triggered as a filter in tar with -Z.  The implementation used is <a href="http://ncompress.sourceforge.net/">ncompress</a>.</li>
<li><a rel="external" href="http://www.info-zip.org/"><b>zip</b></a>.  An old standby, zip creates, well, .zip files, using the DEFLATE algorithm. One difference between zip and gzip is that zip creates a structured archive (no tar necessary).</li>
<li><a rel="external" href="http://freshmeat.net/projects/lzip/"><b>lzip</b></a>. Another LZMA-based compressor, lzip is heavily-asynchronous, emphasizing small decompression times at the expensive of larger initial compression time.</li>
<li><a rel="external" href="http://p7zip.sourceforge.net/"><b>p7zip</b></a>. The *nix version of Igor Pavlov&#8217;s 7-Zip for Windows, p7zip has a slew of options (including different compressors, such as ppmd), but we&#8217;ll be focusing on lzma2.</li>
<li><a rel="external" href="http://www.zlib.net/pigz/"><b>pigz</b></a>. A parallel implementation of gzip. Like most parallel implementations, pigz sacrifices a small amount of compression efficiency for large gains in speed.
</li>
<li><a rel="external" href="http://freshmeat.net/projects/lbzip2"><b>lbzip2</b></a>. A parallel implementation of bzip2. </li>
<li><a rel="external" href="http://www.compression.ca/pbzip2/"><b>pbzip2</b></a>. Another parallel implementation of bzip2. </li>
<li><a rel="external" href="http://www.quicklz.com/"><b>quicklz (qpress)</b></a>. A very fast implementation of LZO, the QuickLZ library was at version 1.5.0 at the time of the benchmark, but its companion compressor program, QPress, was linked against 1.4.1.</li>
<li><a rel="external" href="http://freshmeat.net/projects/lxz"><b>lxz</b></a>.  A parallel implementation of the <code>xz</code> compressor.  By the same creator as <code>lbzip2</code>.  It supports compression <em>only</em>, so the benchmark will not contain decompression numbers for this tool.  The author considers it a stopgap until xz gets multithreading support.</li>
<li><a rel="external" href="http://freshmeat.net/projects/lrzip"><b>lrzip</b></a>. Long ago, a fork of <code>rzip</code>, Con Kolivas&#8217; <code>lrzip</code> has become a full-fledged compressor with multiple possible algorithms to choose from; the only one tested was LZMA.  Note that the version tested here (0.571) was replaced shortly after I ran my benchmarks by v0.600, which was a large rewrite ostensibly improving decompression speed.</li>
<li><a rel="external" href="http://www.nongnu.org/lzip/plzip.html"><b>plzip</b></a>. A straightfoward parallelization of the <code>lzip</code> compressor.</li>
<div class="info">
<p><strong>A note on options.</strong>  </p>
<p>Most of the compressors tested follow the same basic pattern for specifying compression strength, modeled after the options of gzip and bzip2.  <code>-#</code> specifies compression strength, where # is a number.  On some compressors, <code>0</code> is the lowest; on others, it&#8217;s <code>1</code>.  My approach was to test the lowest strength, the highest strength, and the default strength (either 5 or 6, depending).</p>
<p>On some multithreaded compressors, it was necessary to specify the number of threads or processors to use.  Where this was required, I use a value of <code>4</code>, the number of cores in my processor.
</p></div>
<h3>The Methodology</h3>
<p><b>Corpus</b>. I downloaded the 11/3/2009 <code>pages-articles.xml.bz2</code> from Wikipedia&#8217;s <a  rel="external" href="http://dumps.wikimedia.org/enwiki/20091103/">mirror</a> an uncompressed it.  23+ GB. Uh oh.  Realizing that I didn&#8217;t have all the time in the world to spend compressing things, I truncated the file to its first 1&#8217;073&#8217;741&#8217;824 bytes (1GB) using the <code>truncate</code> command.</p>
<p>For each compressor/setting, the compression was run three times; the compressed size was recorded; then the decompression was run three times.  Each run&#8217;s time was recorded, and the average and standard deviation was calculated for both compression and decompression.</p>
<p>Note that in some cases, operation speed was limited by the speed of the hard drive (I&#8217;ll cover this in detail in the next section); there isn&#8217;t much to be done about this, other than the note it. Multiple runs should tease out inconsistencies and show where there is a real discrepancy as opposed to a consistent bottleneck.</p>
<h3>The Results</h3>
<p>The data table itself is far too large to fit in this template, <a rel="external" href="https://spreadsheets.google.com/spreadsheet/lv?key=0AjhZYyrcZ50idGdQaGdPYmF3RGk5emJYOG13ZkYzSHc&#038;hl=en&#038;f=0&#038;rm=full">but you can see it as Google Spreadsheet here</a>.</p>
<p>There&#8217;s no way to crown a clear winner, since all compressors mean tradeoffs.  If I were as smart and capable as <a href="http://www.maximumcompression.com/">Werner Bergman</a>, I could have a formula worked up for <a href="http://www.maximumcompression.com/data/summary_mf2.php">compressor efficiency</a>, but I&#8217;m more curious to see the differences between single-threaded compressors and their multithreaded variants.</p>
<p>To get it out of the way:  <code>xz</code> at maximum compression had the best compression ratio of all tested configurations.  At 243&#8217;350&#8217;864 bytes, it shrank the test corpus to 22.7% of its original size.  This came at a heavy cost, though, as compression at this level took an average of 27 minutes, give or take 200 seconds.</p>
<p>The <em>fastest</em> compression, by far, came from QuickLZ, whose lowest setting managed to process the entire 1GB file in an average of <em>6.3 seconds</em>.  Its maximum setting doubled the time to 12 seconds and shaved off an additional 75MB, but the price of such fantastic speed is much less compression: the maximum setting reduced our test corpus to only 44.4% of its original size.</p>
<p class="info">
Remember that there is no <b>best</b> compressor; there is only a compressor that is <b>best</b> for your needs. Compression is all about diminishing returns:  it takes a mere 12 seconds to get from 100% to 44% with QuickLZ.  It takes an additional <em>27 minutes</em> to get from 44% to 22% with <code>xz</code>.
</p>
<p>When looking at the decompression times, one might notice that the scores bottom out at between 12-15 seconds.  My guess is this does not reflect the decompression speed at much as the write speed of the hard drive.  In theory, one might see even lower numbers with a RAMdisk, but in practice, decompression speeds which outpace storage write speeds are unlikely to be taken advantage of outside a benchmark scenario.</p>
<p>The numbers for <code>bzip2</code> vary wildly, for reasons I haven&#8217;t figured out.  I ran a second iteration of three tests for each setting and got similar numbers, so I stuck with my initial measurements.  Other compressors don&#8217;t have such high standard deviations relative to their runtimes, so I don&#8217;t <em>think</em> it was a problem with my setup. </p>
<p>Generally speaking, the parallel implementations of single-threaded compressors fare extremely well.  Let&#8217;s look at the average times for some of the standard ones. Note that compression ratios are given as the percentage of the original filesize, not the percent reduction, so lower is better.</p>
<table>
<caption>bzip2</caption>
<thead>
<tr>
<th>
			Compressor
		</th>
<th>
			Compression Time (s)
		</th>
<th>
			Compression Ratio
		</th>
<th>
			Decompression Time (s)
		</th>
</tr>
</thead>
<tbody>
<tr>
<td>bzip2 (min)</td>
<td>186.509</td>
<td>31.59%</td>
<td>63.342</td>
</tr>
<tr>
<td>lbzip2 (min)</td>
<td>38.852</td>
<td>31.63%</td>
<td>18.520</td>
</tr>
<tr>
<td>pbzip2 (min)</td>
<td>38.072</td>
<td>31.61%</td>
<td>13.533</td>
</tr>
<tr>
<td>bzip2 (default)</td>
<td>169.474</td>
<td>28.14%</td>
<td>64.432</td>
</tr>
<tr>
<td>lbzip2 (default)</td>
<td>42.085</td>
<td>28.15%</td>
<td>19.140</td>
</tr>
<tr>
<td>pbzip2 (default)</td>
<td>40.698</td>
<td>28.33%</td>
<td>14.630</td>
</tr>
<tr>
<td>bzip2 (max)</td>
<td>206.307</td>
<td>27.18%</td>
<td>66.460</td>
</tr>
<tr>
<td>lbzip2 (max)</td>
<td>52.091</td>
<td>27.19%</td>
<td>23.092</td>
</tr>
<tr>
<td>pbzip2 (max)</td>
<td>52.438</td>
<td>27.19%</td>
<td>20.617</td>
</tr>
</tbody>
</table>
<table>
<caption>gzip</caption>
<thead>
<tr>
<th>
			Compressor
		</th>
<th>
			Compression Time (s)
		</th>
<th>
			Compression Ratio
		</th>
<th>
			Decompression Time (s)
		</th>
</tr>
</thead>
<tbody>
<tr>
<td>gzip (min)</td>
<td>36.146</td>
<td>40.09%</td>
<td>19.195</td>
</tr>
<tr>
<td>pigz (min)</td>
<td>8.892</td>
<td>40.06%</td>
<td>12.199</td>
</tr>
<tr>
<td>gzip (default)</td>
<td>82.452</td>
<td>34.65%</td>
<td>16.912</td>
</tr>
<tr>
<td>pigz (default)</td>
<td>16.673</td>
<td>34.69%</td>
<td>12.852</td>
</tr>
<tr>
<td>gzip (max)</td>
<td>134.889</td>
<td>34.24%</td>
<td>16.513</td>
</tr>
<tr>
<td>pigz (max)</td>
<td>25.051</td>
<td>34.28%</td>
<td>12.129</td>
</tr>
</tbody>
</table>
<table>
<caption>xz</caption>
<thead>
<tr>
<th>
			Compressor
		</th>
<th>
			Compression Time (s)
		</th>
<th>
			Compression Ratio
		</th>
<th>
			Decompression Time (s)
		</th>
</tr>
</thead>
<tbody>
<tr>
<td>xz (min)</td>
<td>138.272</td>
<td>33.82%</td>
<td>50.916</td>
</tr>
<tr>
<td>lxz (min)</td>
<td>29.890</td>
<td>33.80%</td>
<td></td>
</tr>
<tr>
<td>xz (default)</td>
<td>1164.772</td>
<td>24.45%</td>
<td>34.114</td>
</tr>
<tr>
<td>lxz (default)</td>
<td>39.997</td>
<td>24.96%</td>
<td></td>
</tr>
<tr>
<td>xz (max)</td>
<td>1643.367</td>
<td>22.66%</td>
<td>31.968</td>
</tr>
<tr>
<td>lxz (max)</td>
<td>699.268</td>
<td>23.07%</td>
<td></td>
</tr>
</tbody>
</table>
<p>As you can see, most parallel implementations decrease compression <em>and</em> decompression times by a factor of between 3 and 5, while taking, at most, a few tenths of a percent increase in final file size.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2011/05/03/linux-command-line-compressors-compared/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>File Compressors in 64-bit</title>
		<link>http://heliologue.com/2010/03/06/file-compressors-in-64-bit/</link>
		<comments>http://heliologue.com/2010/03/06/file-compressors-in-64-bit/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 04:22:20 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=4991</guid>
		<description><![CDATA[Though I&#8217;m not the sort of person who believes that native 64-bit compilations of programs will automagically make them perform faster or better, I do like to keep an eye on the state of the art, since I was an early adopter of native 64-bit OSes (I&#8217;ve been using 64-bit Linux since about Fedora Core [...]]]></description>
			<content:encoded><![CDATA[<p>Though I&#8217;m not the sort of person who believes that native 64-bit compilations of programs will automagically make them perform faster or better, I do like to keep an eye on the state of the art, since I was an early adopter of native 64-bit OSes (I&#8217;ve been using 64-bit Linux since about Fedora Core 2 or 3, and beta versions of Windows XP x64) when AMD launched their K8 platform.</p>
<p>Previously, I&#8217;ve casually benchmarked the Javascript speeds of 64-bit browsers v. their 32-bit counterparts (<a href="http://heliologue.com/2008/03/23/javascript-engines-in-32-bit-and-64-bit-browsers/">here</a>);  more recently, I benchmarked a 64-bit compile of FLAC against several other 32-bit  compiles of the same version (<a href="http://heliologue.com/2008/12/21/flac-compile-benchmarks/">here</a>).</p>
<p>This time, I decided to test various and sundry file compression utilities—more specifically, those which offer both 32- and 64-bit versions of themselves.  This benchmark did not exhaustively test all potential combinations of compression options (if you&#8217;re interested in that, see Werner Bergman&#8217;s excellent <a href="http://www.maximumcompression.com/" rel="external">Maximum Compression</a> and Matt Mahoney&#8217;s <a href="http://mattmahoney.net/dc/" rel="external">Data Compression Programs</a>), nor will it compare various compressors to each other;  neither will it even list how well the programs actually compressed, since that&#8217;s not really a consideration here.  The sole purpose of the benchmark was to compare the execution time of a 32-bit program with its 64-bit version.</p>
<p><span id="more-4991"></span></p>
<p>The corpus in this case was <a href="http://mattmahoney.net/dc/textdata.html" rel="external">enwiki9</a>, compressed to a RAM disk to minimize the potential effects of write latency.  I wanted the corpus to be sufficiently large to better tease out significant differences in these compressors over a large dataset.  </p>
<p>The results for each compressor are listed on their own page, as well as an explanation of the compressor, its origin, and any additional notes.  One notable exception to this list is WinRK, which is available in a 64-bit version but contains no command-line interface.  </p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2010/03/06/file-compressors-in-64-bit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yet more Javascript benchmarks</title>
		<link>http://heliologue.com/2009/06/21/yet-more-javascript-benchmarks/</link>
		<comments>http://heliologue.com/2009/06/21/yet-more-javascript-benchmarks/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 06:36:06 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=3846</guid>
		<description><![CDATA[Every so often, it&#8217;s nice to take a look at the state of Javascript performance among the various browsers. Though misleading, it&#8217;s become something of a truism that &#8220;browser performance&#8221; is just a nice euphemism for &#8220;Javascript performance,&#8221; since any website doing anything interesting is basically leveraging Javascript to do it. What&#8217;s come up since [...]]]></description>
			<content:encoded><![CDATA[<p>Every so often, it&#8217;s nice to take a look at the state of Javascript performance among the various browsers.  Though misleading, it&#8217;s become something of a truism that &#8220;browser performance&#8221; is just a nice euphemism for &#8220;Javascript performance,&#8221; since any website doing anything interesting is basically leveraging Javascript to do it.</p>
<p>What&#8217;s come up since the last time I did any sort of Javascript <a href="http://heliologue.com/2008/01/15/sunspider/">performance comparison</a>?  Well, Google Chrome and its JS engine (&#8220;V8&#8243;), for one.  Also, something of a new era in Javascript handling that attempts to optimize how browsers handle it by converting it to bytecode (or, in the case of JavaScriptCore/Squirrelfish Extreme/Nitro, directly to native machine code).  In addition, there&#8217;s been some new benchmarks arrive on the scene, which allows us to tease out bias from any particular one.</p>
<p>It&#8217;s amazing, really, to compare these numbers against the linked benchmark from a mere 1.5 years ago.  Opera went from being the top of the heap with 9.5 to being a lazy 3rd or 4th place.  And Chrome, of course, decimated the competition (so far).  Read on for the testing methodology and the results.</p>
<p><span id="more-3846"></span></p>
<h3>The tests</h3>
<p>I chose four different benchmarks, three of which are entirely Javascript and one of which is <em>mostly</em> Javascript.</p>
<ol>
<li><a href="http://dromaeo.com/">Dromaeo</a> is a large, comprehensive benchmark that optionally incorporates some of the <em>other</em> benchmarks we&#8217;re looking at today.  It was created by the Mozilla Corporation.  It offers several test suites, but the one used here was the <a href="http://dromaeo.com/?dromaeo">Dromaeo subset of tests</a></li>
<li><a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html">SunSpider</a> is a benchmark created by the folks behind WebKit.  It quickly became and remains one of the most popular and venerated Javascript benchmarks available.</li>
<li><a href="http://code.google.com/apis/v8/benchmarks.html">V8 Benchmark</a> is a benchmark application designed by Google to test its V8 Javascript engine.  It&#8217;s actually a very short and simple benchmark that <em>fantastically</em> favors Google&#8217;s browser (and Safari).</li>
<li><a href="http://service.futuremark.com/peacekeeper/index.action">Peacekeeper</a> is a new browser benchmark by FutureMark.  It&#8217;s supposed to test not just Javascript performance, but some rendering performance as well.  As you will notice below, the numbers seem a little funny, as it appears to favor Safari (WebKit + Nitro) by a significant margin</li>
</ol>
<h3>The Hardware</h3>
<p>All tests were run in Safe Mode (where applicable;  meaning that no additional plugins or widgets were loaded) on the following hardware:</p>
<ul>
<li>Intel Core2 Quad @ 2.4GHz</li>
<li>4GB RAM</li>
<li>Windows 7 build 7229, x64 Ultimate Edition</li>
</ul>
<h3>The Data</h3>
<p>What follows is the raw data table.  Jump <a href="#conclusion">down</a> for the summary.</p>
<table class="sortable zebra">
<caption>
		Javascript Benchmark Results<br />
	</caption>
<thead>
<tr>
<th scope="col">
				Browser
			</th>
<th scope="col">
				Dromaeo <br />
				(higher is better)
			</th>
<th scope="col">
				SunSpider <br />
				(lower is better)
			</th>
<th scope="col">
				V8 <br />
				(higher is better)
			</th>
<th scope="col">
				Peacekeeper <br />
				(higher is better)
			</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
				Firefox 3.0.11
			</th>
<td>
				43.21 runs/s
			</td>
<td>
				3106.0 ms
			</td>
<td>
				240
			</td>
<td>
				1207
			</td>
</tr>
<tr>
<th scope="row">
				Firefox 3.5rc2
			</th>
<td>
				51.03
			</td>
<td>
				2652.8
			</td>
<td>
				283
			</td>
<td>
				1785
			</td>
</tr>
<tr>
<th scope="row">
				IE 8.0.7229.0
			</th>
<td>
				*
			</td>
<td>
				5176.0
			</td>
<td>
				96.5
			</td>
<td>
				829
			</td>
</tr>
<tr>
<th scope="row">
				Chrome 2.0.178.0
			</th>
<td>
				303.92
			</td>
<td>
				829.6
			</td>
<td>
				3214
			</td>
<td>
				2900
			</td>
</tr>
<tr>
<th scope="row">
				Chrome 3.0.189.0
			</th>
<td>
				<b>303.14</b>
			</td>
<td>
				<b>793.6</b>
			</td>
<td>
				<b>3290</b>
			</td>
<td>
				2968
			</td>
</tr>
<tr>
<th scope="row">
				Opera 9.64
			</th>
<td>
				29.55
			</td>
<td>
				3859.4
			</td>
<td>
				218
			</td>
<td>
				1406
			</td>
</tr>
<tr>
<th scope="row">
				Opera 10.00b1
			</th>
<td>
				71.23
			</td>
<td>
				3177.2
			</td>
<td>
				244
			</td>
<td>
				2019
			</td>
</tr>
<tr>
<th scope="row">
				Safari 4.0 (530.17)
			</th>
<td>
				221.73
			</td>
<td>
				801.2
			</td>
<td>
				2258
			</td>
<td>
				<b>3238</b>
			</td>
</tr>
<tr>
<th scope="row">
				Arora 0.7.1
			</th>
<td>
				88.85
			</td>
<td>
				2209.4
			</td>
<td>
				595
			</td>
<td>
				2344
			</td>
</tr>
</tbody>
</table>
<h3 id="conclusion">The Conclusion</h3>
<p>So what does this data tell us?</p>
<p>For starters, it means that the much-vaunted but long-developed Tracemonkey javascript engine in Firefox 3.5 is <em>already</em> a distant third-place player, if not fourth-place.  Chrome&#8217;s V8 engine outperforms it by no less than a factor of 2 on just about every test.  In fact, Chrome 3 on Windows 7 is the fastest browser available, period.  Now, Chrome is a very simplistic browser (not even a print preview) and it remains to be seen if its competitive edge in terms of rendering and javascript speed will hold true when it&#8217;s got other things to worry about (i.e. plugins).</p>
<p>Safari 4 is a combination of the WebKit rendering engine (like Chrome) and JavaScriptCore, which is the umbrella project name for WebKit javascript engine.  While the SquirrelFish engine in Safari 3.1 was fast (doing the JIT bytecode compiling that Firefox 3.5 is doing now&#8230;), the new SquirrelFish Extreme engine actually compiles to native machine code.  It pulls respectable performance across all tests, usually ranking just behind Chrome&#8230;. with the notable exception of the Peacekeeper benchmark, where it takes the lead score.  Unfortunately for Safari, its greatest accomplish with version 4 is only managing to <em>not</em> look completely horrible on other platforms, so needless to say it isn&#8217;t going to be a contender for the Win32 crown anytime soon.</p>
<p>How far Opera has fallen from grace.  Whereas a couple of years ago it sported the fastest rendering, some of the greatest features, and a great javascript stack, it was quickly eclipsed by the flurry of development happening in other browsers recently.  The beta of version 10.00 improves javascript performance significantly, although Opera&#8217;s own efforts toward bytecode-based javascript handling aren&#8217;t scheduled to land until well after 10.00.  </p>
<p>Internet Explorer is, well, still Internet Explorer.  While version 8 is a remarkable improvement over version 7, just as 7 was a spectacular improvement over 6, it is still the last shriveled pickle at the bottom of the jar, limping by in each and every benchmark.  Microsoft, in their latest FUD to paint IE8 as a <i>wunder</i>-browser, correctly point out that javascript speed isn&#8217;t everything, but both benchmark and simple user testing are enough to point out that Microsoft&#8217;s browser team is working hard just to stay in the race;  they&#8217;re not gaining ground at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2009/06/21/yet-more-javascript-benchmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracking LZMA efficiency</title>
		<link>http://heliologue.com/2009/02/09/tracking-lzma-efficiency/</link>
		<comments>http://heliologue.com/2009/02/09/tracking-lzma-efficiency/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 04:51:26 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[codecs]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=3580</guid>
		<description><![CDATA[I&#8217;m a big fan of 7-Zip. It isn&#8217;t the best-looking application ever written, but that could be because its creator, Igor Pavlov, is concerned much more with its compression methods than its interface. 7-Zip has its own container format, but more important is the LZMA compression algorithm that Igor wrote and put into the public [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a big fan of <a href="http://7-zip.org">7-Zip</a>. It isn&#8217;t the best-looking application ever written, but that could be because its creator, Igor Pavlov, is concerned much more with its compression methods than its interface.  7-Zip has its own container format, but more important is the <a href="http://en.wikipedia.org/wiki/LZMA">LZMA</a> compression algorithm that Igor wrote and put into the public domain.</p>
<p>I decided to do some quick and dirty benchmarks to track the progress of LZMA/7-Zip over time.  I went back as far as Igor supplied binaries, including one from the very old 3.x series.  Rather than test every single release between then and now, I used only &#8220;stable&#8221; releases, with the exception of version 4.65, which is the latest version of any sort, as well as 4.66, which uses an alpha version of Igor&#8217;s new LZMA2 codec (and, as you&#8217;ll see, provides definite performance improvement).</p>
<p>I used Igor&#8217;s Timer utility to time the process (global time was reported).  The corpus in this case was the <a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2">Linux kernel source, v2.6.28</a>.  I conducted these tests on a RAM disk to eliminate hard disk latency issues (especially for decompressions, which improved by about 25% from my initial HDD-based tests). My rig is a Intel Core 2 Quad Q6600 [2.4Ghz], with 4GB of RAM (one dedicated to the RAM disk), running Vista SP1 x64. </p>
<p>The command line setup was an approximation of the 7-Zip GUI&#8217;s &#8220;ultra&#8221; settings:  <code>-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on</code>, letting the archiver auto-choose the number of threads to spawn.  <span id="more-3580"></span></p>
<h3>The Data</h3>
<table class="sortable rowstyle-even">
<caption>
		LZMA Efficiency<br />
	</caption>
<thead>
<tr>
<th class="sortable-text">
				7-zip version
			</th>
<th class="sortable-numeric">
				encoding time (s)
			</th>
<th class="sortable-numeric">
				decoding time (s)
			</th>
</tr>
</thead>
<tbody>
<tr>
<td>
				3.13
			</td>
<td>
				541.271
			</td>
<td>
				43.379
			</td>
</tr>
<tr>
<td>
				4.20
			</td>
<td>
				531.457
			</td>
<td>
				44.040
			</td>
</tr>
<tr>
<td>
				4.23
			</td>
<td>
				527.871
			</td>
<td>
				42.425
			</td>
</tr>
<tr>
<td>
				4.32
			</td>
<td>
				341.290
			</td>
<td>
				42.126
			</td>
</tr>
<tr>
<td>
				4.42
			</td>
<td>
				219.451
			</td>
<td>
				42.211
			</td>
</tr>
<tr>
<td>
				4.57
			</td>
<td>
				174.064
			</td>
<td>
				44.163
			</td>
</tr>
<tr>
<td>
				4.62
			</td>
<td>
				170.973
			</td>
<td>
				42.836
			</td>
</tr>
<tr>
<td>
				4.65
			</td>
<td>
				170.917
			</td>
<td>
				43.058
			</td>
</tr>
<tr>
<td>
				4.66 (lzma2)
			</td>
<td>
				126.259
			</td>
<td>
				46.663
			</td>
</tr>
</tbody>
</table>
<h3>The Analysis</h3>
<p><a href="/img/albums/Software/lzma_compression_graph.png" class="right" rel="lightbox" title="Tracking LZMA efficiency"><img src="/img/albums/Software/lzma_compression_graph_thumb.png" alt="LZMA efficiency graph" /></a></p>
<p>Without conducting a more thorough battery of tests on a variety of different configurations, it&#8217;s difficulty to say with certain just <em>where</em> the performance improvements came from, be it better using of threading or multiprocessors, general algorithmic improvements, or something else.  I also don&#8217;t know if the performance increases we see reside in improvements to LZMA itself as Igor was finalizing it, or just the code quality of 7-Zip, which <em>implements</em> LZMA.</p>
<p>In any case, the improvements since 3.13 are very clear (remember that lower is better), at least for compression, and for &#8220;ultra&#8221; settings.  Decompression remained largely similar, which surprised me.  Some of these results might be directly tied to the number and type of files that were compressed in the case:  4.66, for instance, improves decompression speed for uncompressable files, but no such files exist here since it&#8217;s source code.</p>
<p>Hats off to Igor Pavlov for his steady improvement on both a really great compression standard and one of my favorite pieces of software for Windows.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2009/02/09/tracking-lzma-efficiency/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FLAC compile benchmarks</title>
		<link>http://heliologue.com/2008/12/21/flac-compile-benchmarks/</link>
		<comments>http://heliologue.com/2008/12/21/flac-compile-benchmarks/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 16:26:24 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[codecs]]></category>
		<category><![CDATA[FLAC]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=3477</guid>
		<description><![CDATA[FLAC is a cross-platform codec, but when it comes to Windows, one has a pretty wide range of compiles. Some are more optimized than others. I first got the idea for this benchmark when I stumbled upon a native 64-bit FLAC executable for Windows. Curious, I did a quick and dirty test against the canonical [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flac.sf.net">FLAC</a> is a cross-platform codec, but when it comes to Windows, one has a pretty wide range of compiles.  Some are more optimized than others.</p>
<p>I first got the idea for this benchmark when I stumbled upon a native <a href="http://www.hardwarehacks.org/software/x64stuff.xml">64-bit FLAC executable for Windows</a>.  Curious, I did a quick and dirty test against the canonical build for Windows and found that while encoding times were similar, decoding times were considerably faster.</p>
<p>To figure out why this is so (the 64-bitness or something else), I quickly pulled some some additional compiles and benchmarked them against a few different samples.</p>
<p><span id="more-3477"></span></p>
<p>I have three different samples I used, ripped in WAV format as single files:</p>
<ul>
<li><cite>Lateralus</cite>, by Tool</li>
<li><cite>Californication</cite>, by the Red Hot Chili Peppers</li>
<li>Bruckner&#8217;s 9th Symphony, by Giulini/Vienna Philharmonic, 1989</li>
</ul>
<p>I&#8217;ve included a table for each sample, split into encode/decode times and compilation.</p>
<p>The builds I included were:</p>
<ul>
<li>The canonical build from the official <a href="http://flac.sf.net">FLAC website</a></li>
<li>MSVC8 (Microsoft) compile from <a href="http://rarewares.org/lossless.php">RareWares</a></li>
<li>ICL 9.1 (Intel) compile from <a href="http://rarewares.org/lossless.php">RareWares</a></li>
<li>64-bit compile (MSVC?) from <a href="http://www.hardwarehacks.org/software/x64stuff.xml">HardwareHacks 2000</a></li>
</ul>
<p>My test system is a Intel Core 2 Quad Q6600, with 4GB of RAM, running Windows Vista x64 SP1, with all available patches.  The timer used was by Igor Pavlov (the developer of 7-zip).  Reported times are global (as opposed to kernel, user, or process times).</p>
<table class="zebra sortable">
<caption>
		FLAC build benchmarks (time in seconds)<br />
	</caption>
<thead>
<tr>
<th>
				FLAC build
			</th>
<th>
				Action
			</th>
<th>
				canonical
			</th>
<th>
				MSVC8
			</th>
<th>
				ICL9.1
			</th>
<th>
				x64
			</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="2" scope="row">
				<cite>Lateralus</cite>
			</th>
<td>
				encode
			</td>
<td>
				140.198
			</td>
<td>
				124.146
			</td>
<td>
				121.821
			</td>
<td>
				135.206
			</td>
</tr>
<tr>
			<!-- spacer for row header--></p>
<td>
				decode
			</td>
<td>
				36.770
			</td>
<td>
				17.098
			</td>
<td>
				16.708
			</td>
<td>
				18.315
			</td>
</tr>
<tr>
<th rowspan="2" scope="row">
				<cite>Bruckner</cite>
			</th>
<td>
				encode
			</td>
<td>
				115.331
			</td>
<td>
				104.708
			</td>
<td>
				107.984
			</td>
<td>
				121.119
			</td>
</tr>
<tr>
			<!-- spacer for row header --></p>
<td>
				decode
			</td>
<td>
				33.384
			</td>
<td>
				33.338
			</td>
<td>
				30.030
			</td>
<td>
				31.387
			</td>
</tr>
<tr>
<th rowspan="2" scope="row">
				<cite>Californication</cite>
			</th>
<td>
				encode
			</td>
<td>
				106.954
			</td>
<td>
				98.283
			</td>
<td>
				90.309
			</td>
<td>
				100.668
			</td>
</tr>
<tr>
			<!-- spacer for row header --></p>
<td>
				decode
			</td>
<td>
				26.973
			</td>
<td>
				25.972
			</td>
<td>
				25.943
			</td>
<td>
				27.238
			</td>
</tr>
</tbody>
</table>
<p>It turns out that the x64&#8242;s advantage when it comes to decoding isn&#8217;t due to its 64-bitness, but probably because it includes some extra optimizations (SSE?) that are inherent ot a 64-bit compilation.</p>
<p>The clear winner in both encoding and decoding is the ICL9.1 compile (I wonder if a 10.1 compile would be even better);  at least, it is so on my machine.  The x64 compile was sometimes better, sometimes worse than the canonical compile.  Clearly, there&#8217;s an early benefit from <em>some</em> optimization (probably SSE routines), along with a small margin of benefit from using Intel&#8217;s superior compiler.  64-bitness is beneficial for FLAC processes only insofar as it necessarily encompasses these routines as part of its instruction set.</p>
<p>If you&#8217;re looking to use a particular build of FLAC, I suggest you mosey on over to RareWares and john33&#8242;s ICL build:  the resulting files are a few KB larger, but the processes itself is noticeably faster.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/12/21/flac-compile-benchmarks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Javascript engines in 32-bit and 64-bit browsers</title>
		<link>http://heliologue.com/2008/03/23/javascript-engines-in-32-bit-and-64-bit-browsers/</link>
		<comments>http://heliologue.com/2008/03/23/javascript-engines-in-32-bit-and-64-bit-browsers/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 01:07:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=2017</guid>
		<description><![CDATA[I recently performed some cursory Javascript benchmarks with the new version of Firefox and Safari; curious about performance, I decided to do some testing of 32-bit browsers against their 64-bit counterparts. On Windows Vista x64, the only two browsers so available to me are Internet Explorer 7 and a recent nightly build of Firefox 3. [...]]]></description>
			<content:encoded><![CDATA[<p>I recently performed some cursory Javascript benchmarks with the new version of <a href="http://heliologue.com/2008/03/19/firefox-30b4-vs-20012-javascript-benchmark/">Firefox</a> and <a href="http://heliologue.com/2008/03/18/safari-304-vs-31-javascript-benchmarks/">Safari</a>;  curious about performance, I decided to do some testing of 32-bit browsers against their 64-bit counterparts.  On Windows Vista x64, the only two browsers so available to me are Internet Explorer 7 and a recent nightly build of Firefox 3.  The 64-bit comes from the Mozilla x86-64 project, specifically the <a href="http://www.mozilla-x86-64.com/firefox/firefox-3.0b5pre.en-US.win64.installer.20080321.exe">build from 21 March 2008</a>.  The 32-bit build is a proper nightly from the same date from the <a href="ftp://ftp.mozilla.org/pub/firefox/nightly/2008/03/2008-03-21-06-trunk">official Mozilla FTP</a>.</p>
<p>My hypothesis, before performing the tests, was that the 64-bit compilation would have little or no effect on the Javascript engine performance.  It&#8217;s so difficult to optimize Javascript rendering, which is inherently single-threaded, and it seems likely to only benefit from a faster CPU clock than bigger memory registers.  Afterward, I felt vindicated:  Internet Explorer is likely the best test, and the difference was not statistically significant.  In Firefox&#8217;s case, the 64-bit build was actually significantly <em>worse</em>, though this could easily be due to some other factor I have not taken into account; I have assumed that the source was compiled on the same date.  See below for more details.</p>
<p><span id="more-2017"></span></p>
<h3>The Data Tables</h3>
<table class="sortable rowstyle-even">
<caption>Internet Explorer 7.0.6.001.18000 32-bit and 64-bit comparison</caption>
<thead>
<tr>
<th class="sortable-text">Benchmark</th>
<th class="sortable-numeric">32-bit (ms)</th>
<th class="sortable-numeric">64-bit (ms)</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Total</th>
<th>21972.4</th>
<th>19955.4</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>3d: cube</td>
<td>346.6</td>
<td>262.0</td>
</tr>
<tr>
<td>3d: morph</td>
<td>415.2</td>
<td>311.8</td>
</tr>
<tr>
<td>3d: raytrace</td>
<td>471.2</td>
<td>364.8</td>
</tr>
<tr>
<td>access: binary-trees</td>
<td>443.0</td>
<td>321.2</td>
</tr>
<tr>
<td>access: fannkuch</td>
<td>739.4</td>
<td>586.6</td>
</tr>
<tr>
<td>access: nbody</td>
<td>346.4</td>
<td>258.6</td>
</tr>
<tr>
<td>access: nsieve</td>
<td>305.8</td>
<td>284.2</td>
</tr>
<tr>
<td>bitops: 3bit-bits-in-byte</td>
<td>409.0</td>
<td>290.0</td>
</tr>
<tr>
<td>bitops: bits-in-byte</td>
<td>405.4</td>
<td>290.0</td>
</tr>
<tr>
<td>bitops: bitwise-and</td>
<td>446.2</td>
<td>284.0</td>
</tr>
<tr>
<td>bitops: nsieve-bits</td>
<td>349.4</td>
<td>290.0</td>
</tr>
<tr>
<td>control: recursive</td>
<td>493.0</td>
<td>349.4</td>
</tr>
<tr>
<td>crypto: aes</td>
<td>374.2</td>
<td>296.4</td>
</tr>
<tr>
<td>crypto: md5</td>
<td>330.8</td>
<td>243.2</td>
</tr>
<tr>
<td>crypto: sha1</td>
<td>346.4</td>
<td>246.6</td>
</tr>
<tr>
<td>date: format-tofte</td>
<td>433.6</td>
<td>315.0</td>
</tr>
<tr>
<td>date: format-xparb</td>
<td>440.0</td>
<td>349.6</td>
</tr>
<tr>
<td>math: cordic</td>
<td>465.0</td>
<td>340.0</td>
</tr>
<tr>
<td>math: partial-sums</td>
<td>327.6</td>
<td>228.0</td>
</tr>
<tr>
<td>math: spectral-norm</td>
<td>393.4</td>
<td>277.6</td>
</tr>
<tr>
<td>regexp: dna</td>
<td>387.0</td>
<td>302.6</td>
</tr>
<tr>
<td>string: base64</td>
<td>7298.0</td>
<td>8527.2</td>
</tr>
<tr>
<td>string: fasta</td>
<td>464.6</td>
<td>334.2</td>
</tr>
<tr>
<td>string: tagcloud</td>
<td>1391.4</td>
<td>1145.0</td>
</tr>
<tr>
<td>string: unpack-code</td>
<td>461.8</td>
<td>346.6</td>
</tr>
<tr>
<td>string: validate-input</td>
<td>3688.0</td>
<td>3110.8</td>
</tr>
</tbody>
</table>
<table class="sortable rowstyle-even">
<caption>Firefox 3.0b5pre (20080321 nightly) 32-bit and 64-bit comparison</caption>
<thead>
<tr>
<th class="sortable-text">Benchmark</th>
<th class="sortable-numeric">32-bit (ms)</th>
<th class="sortable-numeric">64-bit (ms)</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Total</th>
<th>3750.2</th>
<th>7421.4</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>3d: cube</td>
<td>147.2</td>
<td>312.6</td>
</tr>
<tr>
<td>3d: morph</td>
<td>137.8</td>
<td>230.8</td>
</tr>
<tr>
<td>3d: raytrace</td>
<td>147.8</td>
<td>264.4</td>
</tr>
<tr>
<td>access: binary-trees</td>
<td>60.6</td>
<td>126.6</td>
</tr>
<tr>
<td>access: fannkuch</td>
<td>261.6</td>
<td>540.6</td>
</tr>
<tr>
<td>access: nbody</td>
<td>173.2</td>
<td>282.8</td>
</tr>
<tr>
<td>access: nsieve</td>
<td>103.4</td>
<td>185.0</td>
</tr>
<tr>
<td>bitops: 3bit-bits-in-byte</td>
<td>85.6</td>
<td>213.6</td>
</tr>
<tr>
<td>bitops: bits-in-byte</td>
<td>123.0</td>
<td>271.0</td>
</tr>
<tr>
<td>bitops: bitwise-and</td>
<td>136.4</td>
<td>246.2</td>
</tr>
<tr>
<td>bitops: nsieve-bits</td>
<td>148.6</td>
<td>310.0</td>
</tr>
<tr>
<td>control: recursive</td>
<td>57.0</td>
<td>140.8</td>
</tr>
<tr>
<td>crypto: aes</td>
<td>105.0</td>
<td>195.0</td>
</tr>
<tr>
<td>crypto: md5</td>
<td>78.4</td>
<td>175.2</td>
</tr>
<tr>
<td>crypto: sha1</td>
<td>88.0</td>
<td>163.6</td>
</tr>
<tr>
<td>date: format-tofte</td>
<td>202.2</td>
<td>406.4</td>
</tr>
<tr>
<td>date: format-xparb</td>
<td>129.2</td>
<td>258.2</td>
</tr>
<tr>
<td>math: cordic</td>
<td>186.2</td>
<td>367.4</td>
</tr>
<tr>
<td>math: partial-sums</td>
<td>149.2</td>
<td>257.2</td>
</tr>
<tr>
<td>math: spectral-norm</td>
<td>96.8</td>
<td>194.2</td>
</tr>
<tr>
<td>regexp: dna</td>
<td>255.6</td>
<td>652.8</td>
</tr>
<tr>
<td>string: base64</td>
<td>119.2</td>
<td>220.6</td>
</tr>
<tr>
<td>string: fasta</td>
<td>205.2</td>
<td>388.8</td>
</tr>
<tr>
<td>string: tagcloud</td>
<td>152.2</td>
<td>294.8</td>
</tr>
<tr>
<td>string: unpack-code</td>
<td>272.8</td>
<td>489.4</td>
</tr>
<tr>
<td>string: validate-input</td>
<td>128.0</td>
<td>233.4</td>
</tr>
</tbody>
</table>
<h3>The Raw Data</h3>
<pre>
Internet Explorer x86 7.0.6001.18000
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                  21972.4ms +/- 6.2%
--------------------------------------------

  3d:                    1233.0ms +/- 1.1%
    cube:                 346.6ms +/- 4.7%
    morph:                415.2ms +/- 2.7%
    raytrace:             471.2ms +/- 1.9%

  access:                1834.6ms +/- 2.5%
    binary-trees:         443.0ms +/- 3.9%
    fannkuch:             739.4ms +/- 1.5%
    nbody:                346.4ms +/- 7.3%
    nsieve:               305.8ms +/- 5.8%

  bitops:                1610.0ms +/- 3.7%
    3bit-bits-in-byte:    409.0ms +/- 2.0%
    bits-in-byte:         405.4ms +/- 4.8%
    bitwise-and:          446.2ms +/- 5.0%
    nsieve-bits:          349.4ms +/- 6.3%

  controlflow:            493.0ms +/- 2.2%
    recursive:            493.0ms +/- 2.2%

  crypto:                1051.4ms +/- 4.6%
    aes:                  374.2ms +/- 5.2%
    md5:                  330.8ms +/- 4.9%
    sha1:                 346.4ms +/- 6.2%

  date:                   873.6ms +/- 2.3%
    format-tofte:         433.6ms +/- 2.0%
    format-xparb:         440.0ms +/- 3.7%

  math:                  1186.0ms +/- 1.6%
    cordic:               465.0ms +/- 4.6%
    partial-sums:         327.6ms +/- 0.2%
    spectral-norm:        393.4ms +/- 4.1%

  regexp:                 387.0ms +/- 4.2%
    dna:                  387.0ms +/- 4.2%

  string:               13303.8ms +/- 10.4%
    base64:              7298.0ms +/- 6.8%
    fasta:                464.6ms +/- 3.5%
    tagcloud:            1391.4ms +/- 4.0%
    unpack-code:          461.8ms +/- 3.7%
    validate-input:      3688.0ms +/- 25.4%

Internet Explorer x64
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                  19955.4ms +/- 1.2%
--------------------------------------------

  3d:                     938.6ms +/- 2.3%
    cube:                 262.0ms +/- 6.2%
    morph:                311.8ms +/- 6.3%
    raytrace:             364.8ms +/- 2.9%

  access:                1450.6ms +/- 2.8%
    binary-trees:         321.2ms +/- 3.3%
    fannkuch:             586.6ms +/- 3.7%
    nbody:                258.6ms +/- 6.6%
    nsieve:               284.2ms +/- 3.1%

  bitops:                1154.0ms +/- 1.7%
    3bit-bits-in-byte:    290.0ms +/- 3.7%
    bits-in-byte:         290.0ms +/- 7.6%
    bitwise-and:          284.0ms +/- 5.8%
    nsieve-bits:          290.0ms +/- 6.0%

  controlflow:            349.4ms +/- 3.0%
    recursive:            349.4ms +/- 3.0%

  crypto:                 786.2ms +/- 2.8%
    aes:                  296.4ms +/- 4.6%
    md5:                  243.2ms +/- 7.1%
    sha1:                 246.6ms +/- 10.3%

  date:                   664.6ms +/- 6.0%
    format-tofte:         315.0ms +/- 11.6%
    format-xparb:         349.6ms +/- 3.1%

  math:                   845.6ms +/- 2.5%
    cordic:               340.0ms +/- 2.5%
    partial-sums:         228.0ms +/- 4.5%
    spectral-norm:        277.6ms +/- 6.0%

  regexp:                 302.6ms +/- 3.5%
    dna:                  302.6ms +/- 3.5%

  string:               13463.8ms +/- 1.4%
    base64:              8527.2ms +/- 0.9%
    fasta:                334.2ms +/- 5.2%
    tagcloud:            1145.0ms +/- 2.6%
    unpack-code:          346.6ms +/- 6.2%
    validate-input:      3110.8ms +/- 2.4%

Firefox x86 Firefox 3.0b5pre (20080322 nightly)
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 3750.2ms +/- 1.4%
--------------------------------------------

  3d:                   432.8ms +/- 9.8%
    cube:               147.2ms +/- 17.4%
    morph:              137.8ms +/- 1.2%
    raytrace:           147.8ms +/- 22.7%

  access:               598.8ms +/- 2.1%
    binary-trees:        60.6ms +/- 5.5%
    fannkuch:           261.6ms +/- 1.7%
    nbody:              173.2ms +/- 6.0%
    nsieve:             103.4ms +/- 1.4%

  bitops:               493.6ms +/- 5.4%
    3bit-bits-in-byte:   85.6ms +/- 2.2%
    bits-in-byte:       123.0ms +/- 6.4%
    bitwise-and:        136.4ms +/- 11.9%
    nsieve-bits:        148.6ms +/- 9.2%

  controlflow:           57.0ms +/- 3.1%
    recursive:           57.0ms +/- 3.1%

  crypto:               271.4ms +/- 7.3%
    aes:                105.0ms +/- 19.4%
    md5:                 78.4ms +/- 3.8%
    sha1:                88.0ms +/- 2.0%

  date:                 331.4ms +/- 12.3%
    format-tofte:       202.2ms +/- 16.2%
    format-xparb:       129.2ms +/- 8.3%

  math:                 432.2ms +/- 3.9%
    cordic:             186.2ms +/- 7.6%
    partial-sums:       149.2ms +/- 7.0%
    spectral-norm:       96.8ms +/- 1.4%

  regexp:               255.6ms +/- 8.3%
    dna:                255.6ms +/- 8.3%

  string:               877.4ms +/- 4.7%
    base64:             119.2ms +/- 6.0%
    fasta:              205.2ms +/- 10.4%
    tagcloud:           152.2ms +/- 6.2%
    unpack-code:        272.8ms +/- 4.1%
    validate-input:     128.0ms +/- 10.3%

Firefox x64
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                  7421.4ms +/- 1.2%
--------------------------------------------

  3d:                    807.8ms +/- 2.0%
    cube:                312.6ms +/- 3.5%
    morph:               230.8ms +/- 7.8%
    raytrace:            264.4ms +/- 6.5%

  access:               1135.0ms +/- 1.9%
    binary-trees:        126.6ms +/- 11.7%
    fannkuch:            540.6ms +/- 2.3%
    nbody:               282.8ms +/- 2.9%
    nsieve:              185.0ms +/- 10.4%

  bitops:               1040.8ms +/- 2.3%
    3bit-bits-in-byte:   213.6ms +/- 5.8%
    bits-in-byte:        271.0ms +/- 4.5%
    bitwise-and:         246.2ms +/- 6.8%
    nsieve-bits:         310.0ms +/- 6.1%

  controlflow:           140.8ms +/- 6.6%
    recursive:           140.8ms +/- 6.6%

  crypto:                533.8ms +/- 4.3%
    aes:                 195.0ms +/- 5.8%
    md5:                 175.2ms +/- 11.5%
    sha1:                163.6ms +/- 3.5%

  date:                  664.6ms +/- 4.5%
    format-tofte:        406.4ms +/- 4.6%
    format-xparb:        258.2ms +/- 6.3%

  math:                  818.8ms +/- 3.8%
    cordic:              367.4ms +/- 3.2%
    partial-sums:        257.2ms +/- 10.5%
    spectral-norm:       194.2ms +/- 4.9%

  regexp:                652.8ms +/- 2.7%
    dna:                 652.8ms +/- 2.7%

  string:               1627.0ms +/- 3.1%
    base64:              220.6ms +/- 4.7%
    fasta:               388.8ms +/- 4.4%
    tagcloud:            294.8ms +/- 5.2%
    unpack-code:         489.4ms +/- 2.9%
    validate-input:      233.4ms +/- 11.1%
</pre>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/03/23/javascript-engines-in-32-bit-and-64-bit-browsers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Linux 2.6 filesystem benchmarks</title>
		<link>http://heliologue.com/2008/03/21/linux-26-filesystem-benchmarks/</link>
		<comments>http://heliologue.com/2008/03/21/linux-26-filesystem-benchmarks/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 21:30:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[aside]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[filesystems]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=2015</guid>
		<description><![CDATA[A recent Linux filesystem benchmark, using modern filesystems, takes a look at some hard numbers. Looks like JFS usually comes in on top.]]></description>
			<content:encoded><![CDATA[<p>A recent Linux <a href="http://www.techyblog.com/linux-news/linux-filesystem-benchmark.html">filesystem benchmark</a>, using modern filesystems, takes a look at some hard numbers.  Looks like <a href="http://en.wikipedia.org/wiki/IBM_Journaled_File_System_2_(JFS2)">JFS</a> usually comes in on top.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/03/21/linux-26-filesystem-benchmarks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Firefox 3.0b4 vs. 2.0.0.12 Javascript benchmark</title>
		<link>http://heliologue.com/2008/03/19/firefox-30b4-vs-20012-javascript-benchmark/</link>
		<comments>http://heliologue.com/2008/03/19/firefox-30b4-vs-20012-javascript-benchmark/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 15:45:56 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=2012</guid>
		<description><![CDATA[Continuing the tradition of my previous post about Safari, I thought I would revisit Firefox&#8217;s performance on the SunSpider benchmark. Clearly, Firefox has also made drastic strides in its Javascript engine, which is an entirely new piece donated by Adobe (and is the same engine, or so I understand, which powers the Actionscript interpreter of [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/img/tech/firefox_tango.png" alt="Mozilla Firefox" class="right" /></p>
<p>Continuing the tradition of my previous post about Safari, I thought I would revisit Firefox&#8217;s performance on the SunSpider benchmark.</p>
<p>Clearly, Firefox has also made drastic strides in its Javascript engine, which is an entirely new piece donated by Adobe (and is the same engine, or so I understand, which powers the Actionscript interpreter of Flash).  These results put the new Firefox 3 beta at <em>four times</em> the speed of the latest 2.x series.  The newly released Safari/Webkit build narrowly outperforms the latest test build of Firefox, but clearly there&#8217;s a lot of progress being made (and perhaps more before its final release).</p>
<p>The tests were done on a Windows XP SP2 machine;  it has a Pentium 4 and 2GB of RAM.</p>
<p><span id="more-2012"></span></p>
<table class="sortable rowstyle-even">
<caption>Firefox 3.0 beta 4 vs. 2.0.0.12</caption>
<thead>
<tr>
<th class="sortable-text">Benchmark</th>
<th class="sortable-numeric">Firefox 3.0 beta4 (ms)</th>
<th class="sortable-numeric">Firefox 2.0.0.12 (ms)</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Total</th>
<th>6102.8</th>
<th>23493.8</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>3d: cube</td>
<td>301.0</td>
<td>812.6</td>
</tr>
<tr>
<td>3d: morph</td>
<td>245.8</td>
<td>1562.2</td>
</tr>
<tr>
<td>3d: raytrace</td>
<td>295.2</td>
<td>491.0</td>
</tr>
<tr>
<td>access: binary-trees</td>
<td>95.6</td>
<td>243.6</td>
</tr>
<tr>
<td>access: fannkuch</td>
<td>412.2</td>
<td>571.8</td>
</tr>
<tr>
<td>access: nbody</td>
<td>282.2</td>
<td>721.6</td>
</tr>
<tr>
<td>access: nsieve</td>
<td>102.4</td>
<td>337.4</td>
</tr>
<tr>
<td>bitops: 3bit-bits-in-byte</td>
<td>120.4</td>
<td>362.4</td>
</tr>
<tr>
<td>bitops: bits-in-byte</td>
<td>143.0</td>
<td>381.2</td>
</tr>
<tr>
<td>bitops: bitwise-and</td>
<td>267.2</td>
<td>3406.2</td>
</tr>
<tr>
<td>bitops: nsieve-bits</td>
<td>251.6</td>
<td>559.4</td>
</tr>
<tr>
<td>control: recursive</td>
<td>89.0</td>
<td>153.2</td>
</tr>
<tr>
<td>crypto: aes</td>
<td>148.8</td>
<td>356.2</td>
</tr>
<tr>
<td>crypto: md5</td>
<td>171.4</td>
<td>393.8</td>
</tr>
<tr>
<td>crypto: sha1</td>
<td>180.6</td>
<td>400.0</td>
</tr>
<tr>
<td>date: format-tofte</td>
<td>329.6</td>
<td>1294.0</td>
</tr>
<tr>
<td>date: format-xparb</td>
<td>230.4</td>
<td>3475.0</td>
</tr>
<tr>
<td>math: cordic</td>
<td>321.0</td>
<td>940.8</td>
</tr>
<tr>
<td>math: partial-sums</td>
<td>310.4</td>
<td>546.6</td>
</tr>
<tr>
<td>math: spectral-norm</td>
<td>183.8</td>
<td>381.4</td>
</tr>
<tr>
<td>regexp: dna</td>
<td>295.6</td>
<td>1400.4</td>
</tr>
<tr>
<td>string: base64</td>
<td>157.8</td>
<td>928.2</td>
</tr>
<tr>
<td>string: fasta</td>
<td>280.0</td>
<td>640.8</td>
</tr>
<tr>
<td>string: tagcloud</td>
<td>249.6</td>
<td>1025.0</td>
</tr>
<tr>
<td>string: unpack-code</td>
<td>412.2</td>
<td>1512.2</td>
</tr>
<tr>
<td>string: validate-input</td>
<td>208.0</td>
<td>596.8</td>
</tr>
</table>
<pre>
Firefox 2.0.0.12
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 23493.8ms +/- 6.3%
--------------------------------------------

  3d:                   2865.8ms +/- 1.3%
    cube:                812.6ms +/- 3.0%
    morph:              1562.2ms +/- 2.0%
    raytrace:            491.0ms +/- 4.5%

  access:               1874.4ms +/- 3.0%
    binary-trees:        243.6ms +/- 14.6%
    fannkuch:            571.8ms +/- 1.8%
    nbody:               721.6ms +/- 2.2%
    nsieve:              337.4ms +/- 3.2%

  bitops:               4709.2ms +/- 1.3%
    3bit-bits-in-byte:   362.4ms +/- 7.0%
    bits-in-byte:        381.2ms +/- 2.8%
    bitwise-and:        3406.2ms +/- 0.9%
    nsieve-bits:         559.4ms +/- 1.5%

  controlflow:           153.2ms +/- 13.9%
    recursive:           153.2ms +/- 13.9%

  crypto:               1150.0ms +/- 2.8%
    aes:                 356.2ms +/- 6.0%
    md5:                 393.8ms +/- 5.3%
    sha1:                400.0ms +/- 5.5%

  date:                 4769.0ms +/- 0.9%
    format-tofte:       1294.0ms +/- 1.3%
    format-xparb:       3475.0ms +/- 1.0%

  math:                 1868.8ms +/- 3.0%
    cordic:              940.8ms +/- 4.8%
    partial-sums:        546.6ms +/- 2.4%
    spectral-norm:       381.4ms +/- 8.5%

  regexp:               1400.4ms +/- 81.1%
    dna:                1400.4ms +/- 81.1%

  string:               4703.0ms +/- 9.4%
    base64:              928.2ms +/- 2.3%
    fasta:               640.8ms +/- 3.1%
    tagcloud:           1025.0ms +/- 46.6%
    unpack-code:        1512.2ms +/- 10.5%
    validate-input:      596.8ms +/- 6.7%

Firefox 3.0b4
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                  6102.8ms +/- 2.3%
--------------------------------------------

  3d:                    842.0ms +/- 4.8%
    cube:                301.0ms +/- 5.3%
    morph:               245.8ms +/- 1.7%
    raytrace:            295.2ms +/- 10.5%

  access:                910.4ms +/- 2.9%
    binary-trees:         95.6ms +/- 2.4%
    fannkuch:            412.2ms +/- 5.6%
    nbody:               282.2ms +/- 3.2%
    nsieve:              120.4ms +/- 8.5%

  bitops:                782.2ms +/- 5.8%
    3bit-bits-in-byte:   120.4ms +/- 22.1%
    bits-in-byte:        143.0ms +/- 21.1%
    bitwise-and:         267.2ms +/- 4.3%
    nsieve-bits:         251.6ms +/- 3.1%

  controlflow:            89.0ms +/- 1.7%
    recursive:            89.0ms +/- 1.7%

  crypto:                500.8ms +/- 5.5%
    aes:                 148.8ms +/- 17.2%
    md5:                 171.4ms +/- 2.0%
    sha1:                180.6ms +/- 1.9%

  date:                  560.0ms +/- 4.2%
    format-tofte:        329.6ms +/- 6.8%
    format-xparb:        230.4ms +/- 2.1%

  math:                  815.2ms +/- 5.5%
    cordic:              321.0ms +/- 1.1%
    partial-sums:        310.4ms +/- 9.2%
    spectral-norm:       183.8ms +/- 16.1%

  regexp:                295.6ms +/- 6.4%
    dna:                 295.6ms +/- 6.4%

  string:               1307.6ms +/- 3.7%
    base64:              157.8ms +/- 16.5%
    fasta:               280.0ms +/- 9.8%
    tagcloud:            249.6ms +/- 3.9%
    unpack-code:         412.2ms +/- 7.9%
    validate-input:      208.0ms +/- 4.5%
</pre>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/03/19/firefox-30b4-vs-20012-javascript-benchmark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safari 3.04 vs 3.1 Javascript benchmarks</title>
		<link>http://heliologue.com/2008/03/18/safari-304-vs-31-javascript-benchmarks/</link>
		<comments>http://heliologue.com/2008/03/18/safari-304-vs-31-javascript-benchmarks/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 21:23:08 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Webkit]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=2011</guid>
		<description><![CDATA[Safari 3.1 has been released, bringing with it all the latest and great Webkit code. Even though the UI still sucks (at least on Windows; ever hear of native GUIs, Apple?) I decided to benchmark the Javascript performance of the new Safari against its more immediate predecessor, 3.04. This testing was done on a Windows [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/img/tech/safari.png" alt="Safari" class="right" /></p>
<p>Safari 3.1 has been released, bringing with it all the latest and great <a href="http://webkit.org">Webkit</a> code.  Even though the UI still sucks (at least on Windows;  ever hear of native GUIs, Apple?)</p>
<p>I decided to benchmark the Javascript performance of the new Safari against its more immediate predecessor, 3.04.  This testing was done on a Windows XP SP2 installation;  a HP workstation with a Pentium 4 and 2GB of RAM.</p>
<p>As you can see in the table below, the JS engine has improved considerably since the last build, cutting the total time by more than half.</p>
<p><span id="more-2011"></span></p>
<table class="sortable rowstyle-even">
<caption>Safari 3.04 vs. 3.1</caption>
<thead>
<tr>
<th class="sortable-text" scope="col">Benchmark</th>
<th class="sortable-numeric" scope="col">Safari 3.1 (ms)</th>
<th class="sortable-numeric" scope="col">Safari 3.04 (ms)</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Total</th>
<th>5865.4</th>
<th>13525.2</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>3d: cube</td>
<td>218.6</td>
<td>478.0</td>
</tr>
<tr>
<td>3d: morph</td>
<td>197.0</td>
<td>818.6</td>
</tr>
<tr>
<td>3d: raytrace</td>
<td>287.4</td>
<td>537.8</td>
</tr>
<tr>
<td>access: binary-trees</td>
<td>106.4</td>
<td>212.6</td>
</tr>
<tr>
<td>access: fannkuch</td>
<td>446.8</td>
<td>977.8</td>
</tr>
<tr>
<td>access: nbody</td>
<td>256.4</td>
<td>581.4</td>
</tr>
<tr>
<td>access: nsieve</td>
<td>134.2</td>
<td>584.0</td>
</tr>
<tr>
<td>bitops: 3bit-bits-in-byte</td>
<td>128.0</td>
<td>515.8</td>
</tr>
<tr>
<td>bitops: bits-in-byte</td>
<td>156.2</td>
<td>537.4</td>
</tr>
<tr>
<td>bitops: bitwise-and</td>
<td>212.4</td>
<td>450.0</td>
</tr>
<tr>
<td>bitops: nsieve-bits</td>
<td>162.6</td>
<td>819.0</td>
</tr>
<tr>
<td>control: recursive</td>
<td>146.8</td>
<td>315.2</td>
</tr>
<tr>
<td>crypto: aes</td>
<td>175.2</td>
<td>337.6</td>
</tr>
<tr>
<td>crypto: md5</td>
<td>128.4</td>
<td>475.0</td>
</tr>
<tr>
<td>crypto: sha1</td>
<td>156.0</td>
<td>518.6</td>
</tr>
<tr>
<td>date: format-tofte</td>
<td>262.6</td>
<td>390.6</td>
</tr>
<tr>
<td>date: format-xparb</td>
<td>415.6</td>
<td>672.0</td>
</tr>
<tr>
<td>math: cordic</td>
<td>271.8</td>
<td>847.0</td>
</tr>
<tr>
<td>math: partial-sums</td>
<td>287.4</td>
<td>387.6</td>
</tr>
<tr>
<td>math: spectral-norm</td>
<td>165.6</td>
<td>365.6</td>
</tr>
<tr>
<td>regexp: dna</td>
<td>334.6</td>
<td>531.2</td>
</tr>
<tr>
<td>string: base64</td>
<td>190.4</td>
<td>453.2</td>
</tr>
<tr>
<td>string: fasta</td>
<td>290.6</td>
<td>628.2</td>
</tr>
<tr>
<td>string: tagcloud</td>
<td>203.2</td>
<td>340.8</td>
</tr>
<tr>
<td>string: unpack-code</td>
<td>234.2</td>
<td>312.6</td>
</tr>
<tr>
<td>string: validate-input</td>
<td>297.0</td>
<td>437.6</td>
</tr>
</table>
<p>Here&#8217;s the raw data, if you so desire it.</p>
<pre>
Safari 3.04

============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 13525.2ms +/- 0.6%
--------------------------------------------

  3d:                   1834.4ms +/- 4.8%
    cube:                478.0ms +/- 5.5%
    morph:               818.6ms +/- 8.8%
    raytrace:            537.8ms +/- 6.1%

  access:               2355.8ms +/- 2.1%
    binary-trees:        212.6ms +/- 17.9%
    fannkuch:            977.8ms +/- 1.1%
    nbody:               581.4ms +/- 4.4%
    nsieve:              584.0ms +/- 6.0%

  bitops:               2322.2ms +/- 2.4%
    3bit-bits-in-byte:   515.8ms +/- 2.7%
    bits-in-byte:        537.4ms +/- 5.4%
    bitwise-and:         450.0ms +/- 7.1%
    nsieve-bits:         819.0ms +/- 3.1%

  controlflow:           315.2ms +/- 12.5%
    recursive:           315.2ms +/- 12.5%

  crypto:               1331.2ms +/- 2.2%
    aes:                 337.6ms +/- 8.8%
    md5:                 475.0ms +/- 6.3%
    sha1:                518.6ms +/- 3.2%

  date:                 1062.6ms +/- 5.1%
    format-tofte:        390.6ms +/- 7.0%
    format-xparb:        672.0ms +/- 5.4%

  math:                 1600.2ms +/- 3.3%
    cordic:              847.0ms +/- 3.0%
    partial-sums:        387.6ms +/- 4.2%
    spectral-norm:       365.6ms +/- 9.8%

  regexp:                531.2ms +/- 5.8%
    dna:                 531.2ms +/- 5.8%

  string:               2172.4ms +/- 3.1%
    base64:              453.2ms +/- 6.2%
    fasta:               628.2ms +/- 5.1%
    tagcloud:            340.8ms +/- 11.7%
    unpack-code:         312.6ms +/- 10.7%
    validate-input:      437.6ms +/- 5.4%

Safari 3.1
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                  5865.4ms +/- 1.8%
--------------------------------------------

  3d:                    703.0ms +/- 11.3%
    cube:                218.6ms +/- 15.4%
    morph:               197.0ms +/- 22.7%
    raytrace:            287.4ms +/- 10.1%

  access:                943.8ms +/- 7.0%
    binary-trees:        106.4ms +/- 19.8%
    fannkuch:            446.8ms +/- 10.0%
    nbody:               256.4ms +/- 4.2%
    nsieve:              134.2ms +/- 12.8%

  bitops:                659.2ms +/- 4.4%
    3bit-bits-in-byte:   128.0ms +/- 6.5%
    bits-in-byte:        156.2ms +/- 15.3%
    bitwise-and:         212.4ms +/- 13.8%
    nsieve-bits:         162.6ms +/- 16.1%

  controlflow:           146.8ms +/- 17.9%
    recursive:           146.8ms +/- 17.9%

  crypto:                459.6ms +/- 11.7%
    aes:                 175.2ms +/- 21.4%
    md5:                 128.4ms +/- 16.3%
    sha1:                156.0ms +/- 15.1%

  date:                  678.2ms +/- 4.4%
    format-tofte:        262.6ms +/- 12.1%
    format-xparb:        415.6ms +/- 7.1%

  math:                  724.8ms +/- 7.0%
    cordic:              271.8ms +/- 10.7%
    partial-sums:        287.4ms +/- 9.0%
    spectral-norm:       165.6ms +/- 17.7%

  regexp:                334.6ms +/- 7.7%
    dna:                 334.6ms +/- 7.7%

  string:               1215.4ms +/- 4.5%
    base64:              190.4ms +/- 13.3%
    fasta:               290.6ms +/- 8.9%
    tagcloud:            203.2ms +/- 13.4%
    unpack-code:         234.2ms +/- 10.2%
    validate-input:      297.0ms +/- 9.1%
</pre>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/03/18/safari-304-vs-31-javascript-benchmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

