Re: [PHP4BETA] ZTS mode sooo much slower?
| From: | Rasmus Lerdorf | Date: | Thu, 01 Jan 1970 00:00:00 +0000 |
| Subject: | Re: [PHP4BETA] ZTS mode sooo much slower? | ||
| References: | 1 | Groups: | php.version4 |
| Request: | Send a blank email to php-version4+get-4169@lists.php.net to get a copy of this message | ||
> >just did soem "benchmarking" of zts mode agains "plain" mode on unix
> >(solaris gcc 2.8.1) -
> >
> >this test-case just has no real code running - just included > 20 php files.
> >
> > ZTS non-ZTS
> >real 4.20 0.57
> >user 3.98 0.45
> >sys 0.05 0.10
> >
> >quantify tells me that the c++ parser eats most of the time.
> >
> >(% of .root.)
> >
> >63% zendFlexLexer::yy_get_previous_state()
> >12% ZendFlexLexer::lex_scan(...)
> >7% zendFlexLexer::yy_get_next_buffer(...)
> >2% zendparse()
> >
> >in "not-ZTS-mode" zendparse is the "busiest" function...
> >
> >are flex-generated c++ lexers known to be *SLOW* or am i doing something
> >wrong?
>
> It could be that the C++ compiler is much less efficient and doesn't know
> how to optimize very well. On a busy site, this can become negligible with
> the persistent registry.
That's a pretty nasty hit though. Perhaps we are not getting the full 8K
buffer filled up in the input stream for some reason? Did something kick
us into unbuffered mode? Would be silly, but could be one way to get such
a huge performance hit.
-Rasmus