Re: Multiple Includes vs. One Long Include (Functions)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kevin Murphy wrote:
I was just wondering if there was any thought one way or another on the best practice for doing this.

Lets say I have 10 functions that I want to reuse on my site. Not every page needs every function. So I move the function to an external page and then require it for the page.

The question is, is it better to have all 10 of those functions in a single file that is called once from each PHP page, even though some will not be used, or is it better to put one function per include and then on each PHP page call just the functions that I need for that page?

require ("all10.php"); // one long page, but only called once.

vs.

require ("function1.php");    // multiple short pages with multiple calls.
require ("function2.php");
require ("function4.php");
require ("function6.php");
require ("function8.php");

Without an opcode cache, a single large include file will always beat multiple include files. Even if it is large, a couple of extra block reads is still going to be way faster than finding and opening a bunch of small ones.

With an opcode cache the difference is minimized. And if you turn off file stats (apc.stat=0 in APC) then I doubt you could measure a difference. The executor would be executing the opcodes directly out of shared memory and whether that shared memory is arranged as multiple entries or a single entry with many functions doesn't really matter when it comes to performance. With file stats on, a single file would again be quicker because you would only need a single stat instead of multiple stats.

-Rasmus

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux