<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: JavaScript Benchmarking IV: JSON Revisited</title>
	<atom:link href="http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/</link>
	<description>let the chips fall where they may</description>
	<lastBuildDate>Fri, 27 Feb 2009 15:19:27 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Performance web &#187; Archive du blog &#187; JSON ?</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-44787</link>
		<dc:creator>Performance web &#187; Archive du blog &#187; JSON ?</dc:creator>
		<pubDate>Fri, 25 Apr 2008 17:19:03 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-44787</guid>
		<description>[...] Oui mais lÃ aussi je n&#8217;ai pas pris en compte JSON+lib. Il faut non seulement interprÃ©ter les 12ko de javascript au dÃ©part mais ensuite faire tourner le moteur basÃ© sur des expressions rationnelles. Il y a mieux. C&#8217;est toujours Dave Johnson qui nous propose un comparatif entre JSON+lib, JSON+eval et XML+xslt. Il y a un monde entre JSON+lib et JSON+eval, quel que soit le navigateur. MÃªme avec peu d&#8217;itÃ©rations, on voit les temps monter significativement dans le test JSON+lib. [...]</description>
		<content:encoded><![CDATA[<p>[...] Oui mais lÃ aussi je n&#8217;ai pas pris en compte JSON+lib. Il faut non seulement interprÃ©ter les 12ko de javascript au dÃ©part mais ensuite faire tourner le moteur basÃ© sur des expressions rationnelles. Il y a mieux. C&#8217;est toujours Dave Johnson qui nous propose un comparatif entre JSON+lib, JSON+eval et XML+xslt. Il y a un monde entre JSON+lib et JSON+eval, quel que soit le navigateur. MÃªme avec peu d&#8217;itÃ©rations, on voit les temps monter significativement dans le test JSON+lib. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: There and Back Again &#187; Blog Archive &#187; Understanding AJAX Digital Shortcut Available</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-7792</link>
		<dc:creator>There and Back Again &#187; Blog Archive &#187; Understanding AJAX Digital Shortcut Available</dc:creator>
		<pubDate>Thu, 03 Aug 2006 20:16:26 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-7792</guid>
		<description>[...] I don&#8217;t do much work with AJAX and XML, but client side XSLT can be a good solution if you need to move lots of data since it tends to scale better to extremly large datasets (especially in IE). [...]</description>
		<content:encoded><![CDATA[<p>[...] I don&#8217;t do much work with AJAX and XML, but client side XSLT can be a good solution if you need to move lots of data since it tends to scale better to extremly large datasets (especially in IE). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: don bright</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-1394</link>
		<dc:creator>don bright</dc:creator>
		<pubDate>Sat, 06 May 2006 20:45:13 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-1394</guid>
		<description>premature optimization is the root of all evil (in programming anyways)

-- some famous computer guy</description>
		<content:encoded><![CDATA[<p>premature optimization is the root of all evil (in programming anyways)</p>
<p>&#8211; some famous computer guy</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Hobbs</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-28</link>
		<dc:creator>Eric Hobbs</dc:creator>
		<pubDate>Sun, 09 Apr 2006 16:06:30 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-28</guid>
		<description>I have found that when using XML DOM it is best to use a single call to selectNodes and looping through the nodeList instead of looping through the DOM. Of course this requires that the data be in a consistent format (no missing elements). However, it provides an excellent performance boost. Another thing that I would like to point out reguarding the exponential time growth in Internet Explorer is that it is caused by the js garbage collector. Object creation in Internet Explorer causes exponential time growth. Creating objects in IE triggers the garbage collector after a certain count has been reached. This threshold is different for the different intrinsic ‘objects’ with string having the highest threshold and objects being one of the worst. I have found that creating objects as new arrays and overloading them provides a decent performance increase. However, it is unlikely that anything in js will be able to outperform or perform as well as native XSLT.</description>
		<content:encoded><![CDATA[<p>I have found that when using XML DOM it is best to use a single call to selectNodes and looping through the nodeList instead of looping through the DOM. Of course this requires that the data be in a consistent format (no missing elements). However, it provides an excellent performance boost. Another thing that I would like to point out reguarding the exponential time growth in Internet Explorer is that it is caused by the js garbage collector. Object creation in Internet Explorer causes exponential time growth. Creating objects in IE triggers the garbage collector after a certain count has been reached. This threshold is different for the different intrinsic ‘objects’ with string having the highest threshold and objects being one of the worst. I have found that creating objects as new arrays and overloading them provides a decent performance increase. However, it is unlikely that anything in js will be able to outperform or perform as well as native XSLT.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Johnson</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-27</link>
		<dc:creator>Dave Johnson</dc:creator>
		<pubDate>Sun, 09 Apr 2006 16:05:48 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-27</guid>
		<description>Hey Matt, I have also looked at injecting the JSON as a script tag which is IMHO one of the best ways of instantiating the JSON object.

You are absolutely right that accessing XML nodes through the DOM is damn slow - I try to never do that. However, I am playing with something that automatically wraps an XML structure as a JS object, which I am tentatively calling JSON for XML (J4X). I will post about that soon with some more benchmarking results and the benchmarking code.</description>
		<content:encoded><![CDATA[<p>Hey Matt, I have also looked at injecting the JSON as a script tag which is IMHO one of the best ways of instantiating the JSON object.</p>
<p>You are absolutely right that accessing XML nodes through the DOM is damn slow &#8211; I try to never do that. However, I am playing with something that automatically wraps an XML structure as a JS object, which I am tentatively calling JSON for XML (J4X). I will post about that soon with some more benchmarking results and the benchmarking code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Stark</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-26</link>
		<dc:creator>Matt Stark</dc:creator>
		<pubDate>Sun, 09 Apr 2006 16:04:44 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-26</guid>
		<description>Another alternate to using the parse method would be to insert an i-frame element and use document.write to push the JSON object into that DOM.

Then just grab it by it’s name and set the parent window object equal to it. I’ve been dynamically rendering IFRAMES and posting them to the server to perform “AJAX transactions” rather than using XML at all. The resulting JSON object is already serialized into the browser on reply and ready for use.

In fact I’ve created a JavaScript DataBinding Object, then use JSON objects for data sent between the server &amp; client. I’ll use a hidden div field to hold my html templates then i just map the control id’s etc for dynamic output. I guess the benefit in doing this is (I use .Net) I can continue to build my markup using server controls and then F-Wit-Em when I need to on the client side. This also allows my interface to serialize back into my server object if need be.

Further I’ve read in several places that any XML processing not done using XML/XSLT will be very slow in every browser. It’s the built in XSLT processor which results in the performance advantage. Thought that may interest you.

(Also C++ supplort “Object Notation” so it’s really handy to process quick on the server!).

Very Very Sweet Article!

Matt</description>
		<content:encoded><![CDATA[<p>Another alternate to using the parse method would be to insert an i-frame element and use document.write to push the JSON object into that DOM.</p>
<p>Then just grab it by it’s name and set the parent window object equal to it. I’ve been dynamically rendering IFRAMES and posting them to the server to perform “AJAX transactions” rather than using XML at all. The resulting JSON object is already serialized into the browser on reply and ready for use.</p>
<p>In fact I’ve created a JavaScript DataBinding Object, then use JSON objects for data sent between the server &#038; client. I’ll use a hidden div field to hold my html templates then i just map the control id’s etc for dynamic output. I guess the benefit in doing this is (I use .Net) I can continue to build my markup using server controls and then F-Wit-Em when I need to on the client side. This also allows my interface to serialize back into my server object if need be.</p>
<p>Further I’ve read in several places that any XML processing not done using XML/XSLT will be very slow in every browser. It’s the built in XSLT processor which results in the performance advantage. Thought that may interest you.</p>
<p>(Also C++ supplort “Object Notation” so it’s really handy to process quick on the server!).</p>
<p>Very Very Sweet Article!</p>
<p>Matt</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Johnson</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-25</link>
		<dc:creator>Dave Johnson</dc:creator>
		<pubDate>Sun, 09 Apr 2006 16:03:43 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-25</guid>
		<description>yes Jim I am comparing apples and apples … it wouldn’t be that useful otherwise :)

what I am comparing is the time it takes to go from a string of XML or JSON retrieved using an XMLHTTPRequest object to an HTML snippit that is ready to be inserted into a web page using innerHTML.

I am pretty sure that XSLT is not “irrelevant” - if it is good enough for Google Maps then its good enough for me.

I will have the code up tomorrow.</description>
		<content:encoded><![CDATA[<p>yes Jim I am comparing apples and apples … it wouldn’t be that useful otherwise <img src='http://blogs.nitobi.com/dave/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>what I am comparing is the time it takes to go from a string of XML or JSON retrieved using an XMLHTTPRequest object to an HTML snippit that is ready to be inserted into a web page using innerHTML.</p>
<p>I am pretty sure that XSLT is not “irrelevant” &#8211; if it is good enough for Google Maps then its good enough for me.</p>
<p>I will have the code up tomorrow.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Ley</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-24</link>
		<dc:creator>Jim Ley</dc:creator>
		<pubDate>Sun, 09 Apr 2006 16:01:55 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-24</guid>
		<description>Please post the scripts, are you sure you’re comparing apples and oranges, it appears you’re only comparing parsing time, not parsing time+access of resulting content time, the overhead of XML is in the COM calls to MSXML once the data is parsed, not within the parse itself.

Using XSLT to overcome this is frankly irrelevant, there simply aren’t enough xslt engines available to make it relevant.</description>
		<content:encoded><![CDATA[<p>Please post the scripts, are you sure you’re comparing apples and oranges, it appears you’re only comparing parsing time, not parsing time+access of resulting content time, the overhead of XML is in the COM calls to MSXML once the data is parsed, not within the parse itself.</p>
<p>Using XSLT to overcome this is frankly irrelevant, there simply aren’t enough xslt engines available to make it relevant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: imran</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-23</link>
		<dc:creator>imran</dc:creator>
		<pubDate>Sun, 09 Apr 2006 16:00:34 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-23</guid>
		<description>Hi

I did like your blog postings and comments but i have soem problem if some1 could help me out.

Does anyone know how to pass html table data from parent to a child form html table ? Or may be you could let me know any URL related to this topic.

Any kind of help is highly appericiated.

Thanks

Imran Hashmi
http://www.visionstudio.co.uk</description>
		<content:encoded><![CDATA[<p>Hi</p>
<p>I did like your blog postings and comments but i have soem problem if some1 could help me out.</p>
<p>Does anyone know how to pass html table data from parent to a child form html table ? Or may be you could let me know any URL related to this topic.</p>
<p>Any kind of help is highly appericiated.</p>
<p>Thanks</p>
<p>Imran Hashmi<br />
<a href="http://www.visionstudio.co.uk" rel="nofollow">http://www.visionstudio.co.uk</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Johnson</title>
		<link>http://blogs.nitobi.com/dave/2005/09/29/javascript-benchmarking-iv-json-revisited/comment-page-1/#comment-22</link>
		<dc:creator>Dave Johnson</dc:creator>
		<pubDate>Sun, 09 Apr 2006 15:59:37 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.ebusiness-apps.com/dave/?p=45#comment-22</guid>
		<description>Hi Vinod, I am trying to organize posting the scripts - just a little busy ;)

In my earlier posts I was specifically looking at the string concatenation time to build a table versus the XSL-T method. In those cases the concatenations are done using the string array push then join method - which was deemed the fastest method on Quirksmode: http://www.quirksmode.org/dom/innerhtml.html

In the experiments posted here I dynamically concatenate a large string of JSON depending on the number of records that I am using and then time only the code that says eval(JSONString) so I am careful to test as close to the source as possible.

By doing DOM calls instead of XSL-T you are thinking that the XML is HTML ready I suppose? This could certainly be faster in some situations.</description>
		<content:encoded><![CDATA[<p>Hi Vinod, I am trying to organize posting the scripts &#8211; just a little busy <img src='http://blogs.nitobi.com/dave/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>In my earlier posts I was specifically looking at the string concatenation time to build a table versus the XSL-T method. In those cases the concatenations are done using the string array push then join method &#8211; which was deemed the fastest method on Quirksmode: <a href="http://www.quirksmode.org/dom/innerhtml.html" rel="nofollow">http://www.quirksmode.org/dom/innerhtml.html</a></p>
<p>In the experiments posted here I dynamically concatenate a large string of JSON depending on the number of records that I am using and then time only the code that says eval(JSONString) so I am careful to test as close to the source as possible.</p>
<p>By doing DOM calls instead of XSL-T you are thinking that the XML is HTML ready I suppose? This could certainly be faster in some situations.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

