|
The instructions given here:
http://framework.zend.com/manual/en/performance.classloading.html#performance.classloading.striprequires.sed Don't work in terminal on OSX. Does anyone have an alternative ? Is it possible to make a production ready version of the framework available? one with the require_once statements removed. I know there is a bit of a discussion on here about it not mattering quite so much with php5.2+, but even so, it's one of the 1st instructions in the performance chapter. |
|
The documentation assumes GNU versions of find and sed, and should probably note that. The equivalent BSD command (which will of course work on Mac OS X) is:
% cd path/to/ZendFramework/library
% find . -name '*.php' | grep -v './Loader/Autoloader.php' | \ xargs sed -E -i~ 's/(require_once)/\/\/ \1/g' I've tested this and it works. It might be good to add this to the documentation.
-Matt On Mon, Jun 29, 2009 at 6:09 PM, aSecondWill <[hidden email]> wrote:
|
|
You'll need to delete all the backup versions of the files afterward with this command, BTW. I don't think BSD sed will permit in-place editing using stdin.
The complete command is therefore:
% cd path/to/ZendFramework/library % find . -name '*.php' | grep -v './Loader/Autoloader.php' | \ xargs sed -E -i~ 's/(require_once)/\/\/ \1/g' % find . -name '*.php~' | xargs rm -f -Matt
On Mon, Jun 29, 2009 at 7:03 PM, Matthew Ratzloff <[hidden email]> wrote: The documentation assumes GNU versions of find and sed, and should probably note that. The equivalent BSD command (which will of course work on Mac OS X) is: |
|
Thanks! I got that working after a bit of fiddling with spaces etc. It made almost no difference to the page load time, even when applied to my extra application libraries, Doctrine etc. - its taking 600ms to proccess everything.(roughly, varies quite a bit - 1st load of a page a bit slower, posibly due to doctrine query caching kicking in on subsequant loads - who knows?)
|
|
On Tuesday 30 June 2009 05:53:27 aSecondWill wrote:
> Thanks! I got that working after a bit of fiddling with spaces etc. It made > almost no difference to the page load time, even when applied to my extra > application libraries, Doctrine etc. - its taking 600ms to proccess > everything.(roughly, varies quite a bit - 1st load of a page a bit slower, > posibly due to doctrine query caching kicking in on subsequant loads - who > knows?) XDebug should know. -- Dado |
|
Administrator
|
In reply to this post by will barker
-- aSecondWill <[hidden email]> wrote
(on Monday, 29 June 2009, 06:09 PM -0700): > The instructions given here: > > http://framework.zend.com/manual/en/performance.classloading.html#performance.classloading.striprequires.sed > > Don't work in terminal on OSX. Does anyone have an alternative ? > > Is it possible to make a production ready version of the framework > available? one with the require_once statements removed. I know there is a > bit of a discussion on here about it not mattering quite so much with > php5.2+, but even so, it's one of the 1st instructions in the performance > chapter. Just a clarification: those recommendations were made based on testing with PHP 5.2 series versions. Even with the realpath cache in PHP 5.2, you get better performance after stripping require_once calls. However, the most benefit comes from stripping them *and* using an opcode cache. Without the opcode cache, the benefits, while measurable, are still negligible. -- Matthew Weier O'Phinney Project Lead | [hidden email] Zend Framework | http://framework.zend.com/ |
|
In reply to this post by Matthew Ratzloff
Shouldn't this script be part of the ZF package? -- regards takeshin |
|
Heres one for Apache Ant
<target name="deploy"> <echo message="---- Removing require_once ----" /> <replaceregexp byline="true"> <regexp pattern="require_once 'Zend/"/> <substitution expression="// require_once 'Zend/"/> <fileset dir="${basedir}/library/Zend" excludes="**/*Autoloader.php" includes="**/*.php" /> </replaceregexp> </target> 2009/7/5 admirau <[hidden email]>: > > > > Matthew Ratzloff wrote: >> >> The complete command is therefore: >> >> % cd path/to/ZendFramework/library >> % find . -name '*.php' | grep -v './Loader/Autoloader.php' | \ >> xargs sed -E -i~ 's/(require_once)/\/\/ \1/g' >> % find . -name '*.php~' | xargs rm -f >> > > Shouldn't this script be part of the ZF package? > > -- > regards > takeshin > > -- > View this message in context: http://www.nabble.com/Removing-Require_once-tp24261910p24341443.html > Sent from the Zend Framework mailing list archive at Nabble.com. > > -- ---------------------------------------------------------------------- [MuTe] ---------------------------------------------------------------------- |
| Powered by Nabble | Edit this page |
