ID: 39879 User updated by: roberto at spadim dot com dot br Reported By: roberto at spadim dot com dot br -Status: Bogus +Status: Open Bug Type: Performance problem Operating System: ALL PHP Version: 5.2.0 New Comment:
i read the source, but we really need passed parameter? could we check if type is string, if it is string return without convertion? can we optimize this function by this way? using &$str could have better performace? Previous Comments: ------------------------------------------------------------------------ [2006-12-19 09:28:51] [EMAIL PROTECTED] That's because you're comparing apples to oranges. Internal function has to copy the passed parameter, while userspace function may use copy-on-write, avoiding the malloc-memcpy-free cycle on each iteration. ------------------------------------------------------------------------ [2006-12-18 22:03:39] roberto at spadim dot com dot br Description: ------------ maybe strval isn't otimized see reproduce code Reproduce code: --------------- <?php function ret($st){return($st);} $qnt=1000000; $str=str_repeat("ae",1000); $st1=microtime(1); for ($i=0;$i<$qnt;$i++) ret($str); echo (microtime(1)-$st1)."\n"; $st1=microtime(1); for ($i=0;$i<$qnt;$i++) strval($str); echo (microtime(1)-$st1)."\n\n"; ?> Expected result: ---------------- expect to result 2 be small than result 1 Actual result: -------------- result 1 is bigger than 2 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39879&edit=1