> Am 4.10.2016 um 16:33 schrieb Pascal KISSIAN <php-mailing-l...@lool.fr>: > >> -----Message d'origine----- >> De : Lauri Kenttä [mailto:lauri.ken...@gmail.com] >> Envoyé : mardi 4 octobre 2016 16:21 >> À : Pascal KISSIAN <php-mailing-l...@lool.fr> >> Cc : internals@lists.php.net >> Objet : Re: [PHP-DEV] Feature Request: inline pseudo-instruction >> >> On 2016-10-04 14:33, Pascal KISSIAN wrote: >>> I have an application where a small file is included at multiple >>> places. >>> >>> The include is done about an average of 100.000 times . >> >> I'm just wondering if you have ever heard of functions? You really should >> write a function, include it only once, and then simply call the function >> instead of repeatedly >including the file. Calling a function is a lot >> faster than including a file. >> >> -- >> Lauri Kenttä > > Function is not appropriate when the "inlined code" has to share 20-30 local > variables ... > Having a function with 30 args, or having to build and access an array is > not very efficient nor natural... > Local variables include 6 nested "for loop" indices and local > variables/arrays needed for the computing.
Hey, why do you think are your includes so slow? Apart from the include itself (which in itself is fairly slow due to filesystem access; or in case with opcache, at the very least copying the op_array etc.), it does exactly this: building an array and importing it into the included files scope. Also, 20-30 local variables? That sounds a bit like your code has way too many responsibilities in one same place. Perhaps you should restructure your code instead, but the way you describe it, no. If your code is so "hot", that also even function calls would be quite significant then you should probably really inline your code there as a perf optimization. Anyway, code with that many variables almost always can meaningfully refactored. It is not the languages task to optimize insane code ... Bob