Re: [PHP] Close enough to Friday...

[email protected] (tamouse mailing lists)
Newsgroups php.general
Message-ID <CAHUC_t9wBJ3qgap5sArm0B4_iaEhVff-eLj3Mnkwnj-b8jMYYQ@mail.gmail.com>
On Thu, Feb 28, 2013 at 9:59 PM, Adam Richardson <[email protected]> wrote:
> On Thu, Feb 28, 2013 at 10:19 PM, tamouse mailing lists
> <[email protected]> wrote:
>>
>> Congratulations on ditching the Dreamweaver Templates!
>>
>> Now, as to preprocessing: how does this benchmark out? Have you
>> noticed a significant different in processing time, memory usage, disk
>> usage, etc?
>
> Well, it depends...
>
> For example, if you use code similar to the inlined function example,
> there is a difference. In that example, the inlined code runs almost
> twice as fast.
>
> <?php
> $a = 1;
> $b = 2;
> $start = microtime();
>
> for ($i = 0; $i < 10000; $i++) {
> $result = ($a > $b && $a % 2 !== 0) ? $a : (($b % 2 !== 0) ? $b : (($a
> % 2 !== 0) ? $a : null));
> }
>
> $runtime = microtime() - $start;
> echo $runtime;
>
> ?>
>
> <?php
>
> function maxodd($a, $b)
> {
>         return ($a > $b && $a % 2 !== 0) ? $a : (($b % 2 !== 0) ? $b : (($a %
> 2 !== 0) ? $a : null));
> }
>
> $a = 1;
> $b = 2;
> $start = microtime();
>
> for ($i = 0; $i < 10000; $i++) {
> $result = maxodd($a, $b);
> }
>
> $runtime = microtime() - $start;
> echo $runtime;
>
> ?>
>
> That said, there's tremendous variance across the possible range of
> function types (e.g., number of args, complexity of function, etc.),
> so there's no guarantee you'll always see a worthwhile (which is also
> subjective) improvement. I'm going to use inlining for functions that
> output html-escaped output (the function wraps htmlspecialchars to
> allow whitelisting), as they're frequent and simple, the very type of
> function that is easily inlined and provides some speed benefit.
>
> In terms of the templating, in my tests using siege comparing
> Dreamweaver Templates vs PHP includes, I've typically seen significant
> benefits when the template requires multiple includes, with the effect
> dropping off as the number of includes approaches 0. These results
> should be the same. Again, there seems to be a broad range of
> considerations (in terms of using APC, using absolute paths helped the
> include performance:
> http://www.php.net/manual/en/apc.configuration.php#ini.apc.stat)
>
> There are usually bigger ways to enhance performance (data
> persistence, etc.), but in the same way that I try to teach my little
> girls to turn off the faucet in between spitting into the sink even
> though monitoring showers can do much more to save water, when I see
> simple ways I can consistently save cycles, I try to implement them :)
>
> Adam
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

Awesome. Not unsuspected, but still awesome. I know some site schemes
that do a lot of nested templating; and from my work on rails,
rendering a site with tons of partials (the same sort of thing) can
really slow page loads down. I know Smarty caches the compiled
templates automatically, and refreshes if a given template changes
from the cached version, and this does speed things up somewhat, but
it doesn't actually do the full up staticify (if i may be so bold!)
like this.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.