ID: 27126 Updated by: [EMAIL PROTECTED] Reported By: mike at schreiber dot com -Status: Open +Status: Bogus Bug Type: Performance problem Operating System: Solaris 6-10beta PHP Version: Irrelevant New Comment:
Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Thank you for your interest in PHP. Given that the code runs at different speed across various platforms, I'd say this a platform issue more then anything else. Previous Comments: ------------------------------------------------------------------------ [2004-02-03 02:45:38] mike at schreiber dot com Description: ------------ While filling an array with about 400.000 Elements on a solaris box took several seconds to be done. On other OS or for example Java und Sun took only a few mill-seconds. The debugger reports, that php ist trying to fetch memory for every element in the array. This is the reason why it get so slow. I have tried different Solaris Versions and different php versions. It is the compination of solaris and php. Linux und Solaris (same hardware) is much more faster. Reproduce code: --------------- <?php function GetMicrotime(){ list($microseconds, $seconds) = explode(" ",microtime()); return ((float)$microseconds + (float)$seconds); } $start = GetMicrotime(); $ende = GetMicrotime(); for($i=0;$i<50000;$i++) { $great_dump[] = array(1234,1234,1234); } $ende = GetMicrotime(); $time = $ende - $start; printf("%.10f",$time); echo "\n"; echo sizeof($great_dump); ?> Expected result: ---------------- less then one second Actual result: -------------- took me about 6,3 seconds Debugger: 0.1541 brk(0x003EC3A8) = 0 0.1542 brk(0x003EC3A8) = 0 0.1543 brk(0x003EE3A8) = 0 0.1544 brk(0x003EE3A8) = 0 0.1545 brk(0x003F03A8) = 0 0.1546 brk(0x003F03A8) = 0 0.1547 brk(0x003F23A8) = 0 0.1548 brk(0x003F23A8) = 0 0.1549 brk(0x003F43A8) = 0 0.1550 brk(0x003F43A8) = 0 0.1551 brk(0x003F63A8) = 0 continues about 3500 times ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27126&edit=1