On July 16, 2004 11:58 am, Thies C. Arntzen wrote:
> hey ilia,
>
> here's another one of my meaningess, synthetic benchmarks (this is how
> the CreatorsOfPHP(tm) would call them)
>
> ackermann(8) (source on request - highly recursive)

Recursive functions in PHP are inherently dangerous as without proper limits 
they will rather quickly ~5671 iterations with a basic function a() { a(); } 
(PHP 4/5).
By comparison the same code only takes 2897 iterations before the patch. While 
the patch does not solve this crash it reduces it's chances by nearly 50% 
(unexpected benefit).

More over the crash problem that the patch solves is not theoretical that I 
made up because I have nothing better to do. We have at least 2 confirmed bug 
reports by different people and surely there are others who came across this 
issue and didn't report it.

Yes, you are correct, with a dedicated benchmark specifically designed to 
"exploit" the allocation routine change there is a performance drop, but 
surely stability is more important then speed. If that is not that case, 
there are a whole lot of optimizations we can perform, but that'd mean users 
will need to write their code extra carefully :-), which as we know is not 
going to happen.

Ilia

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to