Re: Re: Fix for bug #50333
| From: | Anatol Belski | Date: | Mon, 28 Oct 2013 18:31:38 +0000 |
| Subject: | Re: Re: Fix for bug #50333 | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-69919@lists.php.net to get a copy of this message | ||
Hi Dmitry,
On Wed, October 23, 2013 14:55, Dmitry Stogov wrote:
> Hi Anatol,
>
>
> First of all PHP is mainly used as NTS on Linux (LAMP stack)
> It's the reason I tested it first, to check if your patch affects the
> performance that is really important for users.
>
> I still think that tsrm_do_alloca() have to be replaced by do_alloca().
> They have exactly the same logic, except that the first one fallback to
> malloc() and the second one to emalloc(). It must not be affected by
> malloc()s and realloc()s if you changed them into emalloc() and
> erealloc(). May be I missing something...
>
>
> I'm not sure about alloca() usage on Windows, but you may change zend.h
> if you like. BTW: I don't think we should replace alloca() by _malloca(),
> because do_alloca() already does the same in portable way and uses
> per-request heap.
>
last week I've updated the patch according to your recommendations, now we
have the performance test results
http://windows.php.net/downloads/snaps/ostc/pftt/perf/results-20131025-MasterVanilla-Master50333-3820.html
http://windows.php.net/downloads/snaps/ostc/pftt/perf/results-20131025-MasterVanilla-Master50333-7795.html
Also enabled the stack usage in both TS/NTS for windows. It shows still no
improvement as one can see. Though, there are some functions, like
virtual_file_ex(), which use emalloc() only in the patch, but called very
often within the virtual cwd API. Changing them would require signature
changes os one can efree() in case of the fallback situation, but still
it's doubtful that would tell some bigger difference in performance. Do
you think it's worth a try?
Regards
Anatol