<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Zend_Form Performance Issues</title>
	<atom:link href="http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/</link>
	<description>Simple is better than complex. Complex is better than complicated. &#124; @fedecarg</description>
	<lastBuildDate>Mon, 08 Mar 2010 06:09:25 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Federico</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-2369</link>
		<dc:creator>Federico</dc:creator>
		<pubDate>Sun, 22 Feb 2009 20:03:15 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-2369</guid>
		<description>Caching objects in PHP doesn&#039;t offer substantial benefits. The serialise function has its proper uses, but it&#039;s a relatively slow process.</description>
		<content:encoded><![CDATA[<p>Caching objects in PHP doesn&#8217;t offer substantial benefits. The serialise function has its proper uses, but it&#8217;s a relatively slow process.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iongion</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-2368</link>
		<dc:creator>iongion</dc:creator>
		<pubDate>Sun, 22 Feb 2009 19:31:57 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-2368</guid>
		<description>As John above mentioned, why don&#039;t you cache the entire form object and use form&#039;s class name as cache key ?</description>
		<content:encoded><![CDATA[<p>As John above mentioned, why don&#8217;t you cache the entire form object and use form&#8217;s class name as cache key ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-1133</link>
		<dc:creator>John</dc:creator>
		<pubDate>Fri, 01 Aug 2008 13:56:33 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-1133</guid>
		<description>Yeah it really is amazing how slow Zend_Form can be. Normally my relatively complicated zend pages (with MVC) take about .5 seconds to load, with some modest zend_forms on them, we&#039;re talking about 1.5 - 2 seconds per page load! (no caching, on my laptop).  

I noticed a lot of translation calls, so hopefully setting the setDisableTranslator flag will help on that end.

To speed up Zend_Form loading i cache the actual Zend_Form object, not the rendered HTML, and i think im seeing some speed results with that.  The problem with caching just the HTML is that even though the initial GET request of a form will be fast, you still need to rebuild the object on the postback to enable things like validation.</description>
		<content:encoded><![CDATA[<p>Yeah it really is amazing how slow Zend_Form can be. Normally my relatively complicated zend pages (with MVC) take about .5 seconds to load, with some modest zend_forms on them, we&#8217;re talking about 1.5 &#8211; 2 seconds per page load! (no caching, on my laptop).  </p>
<p>I noticed a lot of translation calls, so hopefully setting the setDisableTranslator flag will help on that end.</p>
<p>To speed up Zend_Form loading i cache the actual Zend_Form object, not the rendered HTML, and i think im seeing some speed results with that.  The problem with caching just the HTML is that even though the initial GET request of a form will be fast, you still need to rebuild the object on the postback to enable things like validation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Quinton</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-1122</link>
		<dc:creator>Quinton</dc:creator>
		<pubDate>Thu, 31 Jul 2008 16:28:35 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-1122</guid>
		<description>geez i&#039;m experiencing the slowness right now..

i have some fairly large select boxes with +300 elements per box (using zlib compression too)

box 1 = countries
box 2 = timezones
box 3 = languages 

I&#039;m not concerned with internationalization so i&#039;ve explicitly disabled translation on each form element

$oFormElement-&gt;setDisableTranslator(true);

This helps alot. And in addition cached the form variable in an APC user variable. That helps even more... Its still not as zippy as i&#039;d like but its alot better without it

Looking forward to seeing Matthew&#039;s changes! *phew*</description>
		<content:encoded><![CDATA[<p>geez i&#8217;m experiencing the slowness right now..</p>
<p>i have some fairly large select boxes with +300 elements per box (using zlib compression too)</p>
<p>box 1 = countries<br />
box 2 = timezones<br />
box 3 = languages </p>
<p>I&#8217;m not concerned with internationalization so i&#8217;ve explicitly disabled translation on each form element</p>
<p>$oFormElement-&gt;setDisableTranslator(true);</p>
<p>This helps alot. And in addition cached the form variable in an APC user variable. That helps even more&#8230; Its still not as zippy as i&#8217;d like but its alot better without it</p>
<p>Looking forward to seeing Matthew&#8217;s changes! *phew*</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phpimpact</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-840</link>
		<dc:creator>phpimpact</dc:creator>
		<pubDate>Thu, 10 Jul 2008 09:56:38 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-840</guid>
		<description>That exception is thrown whenever you pass an invalid cache ID to the save() method. Check your $form variable and make sure you pass it as a string. More info here: Zend_Cache_Core, line 404.</description>
		<content:encoded><![CDATA[<p>That exception is thrown whenever you pass an invalid cache ID to the save() method. Check your $form variable and make sure you pass it as a string. More info here: Zend_Cache_Core, line 404.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iongion</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-839</link>
		<dc:creator>iongion</dc:creator>
		<pubDate>Thu, 10 Jul 2008 09:46:08 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-839</guid>
		<description>Hopefully i am not too profane, this line:

$cache-&gt;save($form, $this-&gt;_formId);

throws an Uncaught exception &#039;Zend_Cache_Exception&#039; with message &#039;Invalid id or tag : must be a string&#039;</description>
		<content:encoded><![CDATA[<p>Hopefully i am not too profane, this line:</p>
<p>$cache-&gt;save($form, $this-&gt;_formId);</p>
<p>throws an Uncaught exception &#8216;Zend_Cache_Exception&#8217; with message &#8216;Invalid id or tag : must be a string&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew Weier O'Phinney</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-820</link>
		<dc:creator>Matthew Weier O'Phinney</dc:creator>
		<pubDate>Wed, 09 Jul 2008 00:50:15 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-820</guid>
		<description>Just a note -- while lazy loading will be helpful in many situations, caching your forms is still a good idea.While the validators and filters may not need to load for GET requests, there are still many, many objects floating around, and a lot of logic that has to be performed for rendering. So the takeaway is that the root issue -- objects that were never used were being loaded -- is corrected, the techniques you describe here are still sound.</description>
		<content:encoded><![CDATA[<p>Just a note &#8212; while lazy loading will be helpful in many situations, caching your forms is still a good idea.While the validators and filters may not need to load for GET requests, there are still many, many objects floating around, and a lot of logic that has to be performed for rendering. So the takeaway is that the root issue &#8212; objects that were never used were being loaded &#8212; is corrected, the techniques you describe here are still sound.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Веб-обзор</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-816</link>
		<dc:creator>Веб-обзор</dc:creator>
		<pubDate>Tue, 08 Jul 2008 13:46:34 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-816</guid>
		<description>[...] Zend_Form Performance Issues - для любителей фреймворка от компании Zend интересное исследование производительности и вообще нюансов внутренней работы модуля форм. При всем моем уважении к этому фреймворку [...]</description>
		<content:encoded><![CDATA[<p>[...] Zend_Form Performance Issues &#8211; для любителей фреймворка от компании Zend интересное исследование производительности и вообще нюансов внутренней работы модуля форм. При всем моем уважении к этому фреймворку [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phpimpact</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-807</link>
		<dc:creator>phpimpact</dc:creator>
		<pubDate>Mon, 07 Jul 2008 17:42:47 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-807</guid>
		<description>That was quick, thanks! (post updated)</description>
		<content:encoded><![CDATA[<p>That was quick, thanks! (post updated)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew Weier O'Phinney</title>
		<link>http://blog.fedecarg.com/2008/07/06/zend_form-performance-issues/#comment-806</link>
		<dc:creator>Matthew Weier O'Phinney</dc:creator>
		<pubDate>Mon, 07 Jul 2008 15:51:11 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=289#comment-806</guid>
		<description>You&#039;ll be happy to know that I&#039;ve already made changes in the incubator to allow lazy loading of validators, filters, and decorators; basically, the plugin objects are only instantiated when you actually need them (for instance, validators are only loaded when you either call getValidator() or isValid(); filters are only loaded when you call getFilter() or getValue(); and decorators are only rendered if you call getDecorator() or render()). These changes will be released with version 1.6.0.</description>
		<content:encoded><![CDATA[<p>You&#8217;ll be happy to know that I&#8217;ve already made changes in the incubator to allow lazy loading of validators, filters, and decorators; basically, the plugin objects are only instantiated when you actually need them (for instance, validators are only loaded when you either call getValidator() or isValid(); filters are only loaded when you call getFilter() or getValue(); and decorators are only rendered if you call getDecorator() or render()). These changes will be released with version 1.6.0.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
