<?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>Create Blog &#187; Testing</title>
	<atom:link href="http://create.tpsitulsa.com/blog/category/testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://create.tpsitulsa.com/blog</link>
	<description>the create framework blog</description>
	<lastBuildDate>Sat, 30 Jan 2010 20:08:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>JavaScript Animation Benchmarks</title>
		<link>http://create.tpsitulsa.com/blog/2009/10/21/javascript-animation-benchmarks/</link>
		<comments>http://create.tpsitulsa.com/blog/2009/10/21/javascript-animation-benchmarks/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 23:18:49 +0000</pubDate>
		<dc:creator>Alex Iskander</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[SproutCore]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://create.tpsitulsa.com/blog/?p=226</guid>
		<description><![CDATA[I&#8217;ve been working on a mixin to add animation to SproutCore views. The current version only works for layout properties, and does not yet work for centerX and centerY properties (they used to work, but some of the performance optimizations have made it slightly more tricky—I&#8217;ll be adding it back soon, though). I decided to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on <a href = "http://github.com/ialexi/animate" title = "Mixin to add animation to SproutCore views">a mixin</a> to add animation to <a href = "http://sproutcore.com/">SproutCore</a> views.</p>

<p>The current version only works for layout properties, and does <em>not</em> yet work for <em>centerX</em> and <em>centerY</em> properties (they used to work, but some of the performance optimizations have made it slightly more tricky—I&#8217;ll be adding it back soon, though).</p>

<p>I decided to see how fast the code was in different browsers. The tests were done using a test application which generated a specified number of views, and then, once per second, updated a &#8220;frames per second&#8221; display. The measuring is somewhat subjective, as I have to deduce, based on consistency (or lack thereof) in the numbers, what the frame rate actually is. For the most part, they were pretty consistent, but the WebKit browsers at really low numbers of views (and really high frame rates) could be quite inconsistent at times.</p>

<p>I ran the tests on two separate machines:</p>

<ul>
    <li><strong>Mac OS X Snow Leopard on MacBook Pro 15&#8243; Core 2 Duo 2.33Gz w/2GB RAM.</strong> Lots of open programs, including iTunes. Not as scientific as would be optimal, but it <em>is</em> my work machine.</li>
    <li><strong>Windows XP on Pentium 4 3.20GHz w/2GB RAM.</strong> Only the browser was open.</li>
</ul>

<p>Browsers tested (note that my Firefox was OLD):</p>

<ul>
    <li>Safari 4.0.3 for Mac</li>
    <li>Firefox 3.5.3 for Mac</li>
    <li>Chromium 4.0.223.3 (29380) for Mac</li>
    <li>Internet Explorer 8</li>
    <li>Firefox 3.0.1 for Windows (oops. Should have upgraded first. Remind me to update numbers on Friday)</li>
    <li>Safari 4.0.3 for Windows</li>
    <li>Chrome 3.0.195.27 for Windows</li>
</ul>

<p>Here is the data:
<div id="attachment_227" class="wp-caption aligncenter" style="width: 559px"><img src="http://create.tpsitulsa.com/blog/wp-content/uploads/2009/10/Chart.png" alt="Data collected during testing of the different browsers" title="Data Collected" width="549" height="161" class="size-full wp-image-227" /><p class="wp-caption-text">Data collected during testing of the different browsers</p></div></p>

<p>That&#8217;s boring. Where are the pictures?</p>

<div id="attachment_228" class="wp-caption aligncenter" style="width: 480px"><img src="http://create.tpsitulsa.com/blog/wp-content/uploads/2009/10/All.png" alt="All Browsers" title="All Browsers" width="470" height="329" class="size-full wp-image-228" /><p class="wp-caption-text">All Browsers</p></div>

<p>Even here, you can tell that Chrome and Chromium are the best performers for small numbers of views. <strong>However, </strong> for larger numbers of views, Safari on Mac was a very clear winner, running at <strong>12 frames per second for 2000 LabelViews.</strong>.</p>

<p>Predictably, Internet Explorer was slowest. I didn&#8217;t bother to run all the tests for it.</p>

<div id="attachment_229" class="wp-caption aligncenter" style="width: 404px"><img src="http://create.tpsitulsa.com/blog/wp-content/uploads/2009/10/Windows.png" alt="Windows Browsers" title="Windows Browsers" width="394" height="316" class="size-full wp-image-229" /><p class="wp-caption-text">Windows Browsers</p></div>

<p>This chart shows only the Windows browsers. Again, you can tell IE is very slow. Chrome is very very fast. Safari is pretty good. My out-of-date Firefox is not always that much faster than IE; it will be interesting to see how Firefox 3.5 fares.</p>

<p>Notice the dip in performance for Safari at around 300? It briefly does worse than Firefox. It quickly levels off, though, and is second only to Chrome.</p>

<div id="attachment_230" class="wp-caption aligncenter" style="width: 394px"><img src="http://create.tpsitulsa.com/blog/wp-content/uploads/2009/10/Mac.png" alt="Mac Browsers" title="Mac Browsers" width="384" height="315" class="size-full wp-image-230" /><p class="wp-caption-text">Mac Browsers</p></div>

<p>And, of course, the best for last. Note how we see the same dip in performance for Safari—though it does not dip below Firefox; it would have dipped below Chromium, were it not already below it. Again, though, it leveled out faster than Chromium.</p>

<p>I always wanted to do a performance chart, but now that I have&#8230; it&#8217;s a <em>lot</em> of work (about 57 or so data points there&#8230; each measured separately).</p>

<p><strong>Question</strong>
Is the difference between Safari and Chromium completely caused by Google&#8217;s V8 JavaScript engine, or are there a few other differences?</p>
]]></content:encoded>
			<wfw:commentRss>http://create.tpsitulsa.com/blog/2009/10/21/javascript-animation-benchmarks/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>PDF Parsing</title>
		<link>http://create.tpsitulsa.com/blog/2009/05/19/pdf-parsing/</link>
		<comments>http://create.tpsitulsa.com/blog/2009/05/19/pdf-parsing/#comments</comments>
		<pubDate>Tue, 19 May 2009 21:17:02 +0000</pubDate>
		<dc:creator>Alex Iskander</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://create.tpsitulsa.com/blog/?p=143</guid>
		<description><![CDATA[Just a little status update: yesterday, I finally managed to make the new PDF engine pass all PDF-related tests in the Create Framework. It is revision 100 in the pdf-parsing branch on Launchpad. Yes, all of the tests have been updated, but they were hand-checked first. As the new engine handles the timing of the [...]]]></description>
			<content:encoded><![CDATA[<p>Just a little status update: yesterday, I finally managed to make the new PDF engine pass all PDF-related tests in the Create Framework. It is revision 100 in the <a href="https://code.launchpad.net/~alex.iskander/create/create-pdf-parsing">pdf-parsing branch</a> on Launchpad.</p>

<p>Yes, all of the tests have been updated, but they were hand-checked first. As the new engine handles the timing of the writing of objects differently, the tests will work differently. They will change further, in fact, because I just realized that the maximum size for a page tree node is still set to 3 (for debugging purposes) &mdash; which is not at all what the final size should be &mdash; so the tests that have more than three pages are, unfortunately, <em>wrong</em>. Further, it is possible that some areas of the Create Framework may even have some leaks regarding PDF, so fixes to those could cause problems. This is not a <em>stable</em> branch, is not <em>meant</em> to be a stable branch, and is not guaranteed to even be in a compilable state. I&#8217;ve disclaimed, so if your computer blows up, it is not my fault.</p>

<p>Now, I&#8217;ve finally started PDF parsing. Currently, I&#8217;ve got the first XRef table being read in. I&#8217;m excited. Hopefully, by the end of the week, I&#8217;ll have some form of PDF-in-PDF embedding working. Currently, I&#8217;m aiming to support only PDF 1.4 &#8212; before all of that cross-reference stream and object stream business came about that would require the ability to handle compression (which, while on the eventual to-do list, is not currently a priority).</p>
]]></content:encoded>
			<wfw:commentRss>http://create.tpsitulsa.com/blog/2009/05/19/pdf-parsing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regression Tests</title>
		<link>http://create.tpsitulsa.com/blog/2009/02/17/regression-tests/</link>
		<comments>http://create.tpsitulsa.com/blog/2009/02/17/regression-tests/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 20:06:08 +0000</pubDate>
		<dc:creator>Alex Iskander</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://create.tpsitulsa.com/blog/?p=91</guid>
		<description><![CDATA[The framework finally became complete enough to where I felt like I could add tests. Perhaps I should have started with tests, but the tests themselves require a composition of many of the components, so it would have been impractical. Implementing tests had a very nice side-effect. Tests are meant to test expected behavior. As [...]]]></description>
			<content:encoded><![CDATA[<p>The framework finally became complete enough to where I felt like I could add tests. Perhaps I should have started with tests, but the tests themselves require a composition of many of the components, so it would have been impractical.</p>

<p>Implementing tests had a very nice side-effect. Tests are meant to test expected behavior. As it turns out, there were a lot of areas where the framework did not behave as expected. I fixed at least seven bugs over the course of the two days when I wrote the current four tests. I say &#8220;at least&#8221; because I often fix bugs as I see them and promptly forget about them, or group them into larger categories when I write the revision release notes.</p>

<p>In short, just by writing a few tests, I drastically increased the system&#8217;s stability. And, since they will run often, they will ensure continued stability as well. Short term and long term, testing can be great.</p>
]]></content:encoded>
			<wfw:commentRss>http://create.tpsitulsa.com/blog/2009/02/17/regression-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

