ID: 32806
User updated by: peoned at yahoo dot com
Reported By: peoned at yahoo dot com
-Status: Feedback
+Status: Open
Bug Type: Performance problem
Operating System: Linux
PHP Version: 5.0.4
Assigned To: wez
New Comment:
without fwrite() it is significantly faster, gives about 5-6 seconds.
But in Perl without print OUT $_; it gives around 1-2 seconds. So it is
still slower in PHP because of fgets().
Previous Comments:
------------------------------------------------------------------------
[2005-05-02 14:25:11] [EMAIL PROTECTED]
Can you try your tests with the fwrite() line commented out?
------------------------------------------------------------------------
[2005-04-28 07:30:31] peoned at yahoo dot com
I did an
`echo strlen($line).",";`
Here are the lengths for some of the first few lines:
42,7,18,11,71,13,8,7,42,7,20,11,73,70,68,63,13,8,7
It looks pretty much like this for the rest of the file. Lines between
1 and 100 chars in length.
Note: It isn't the start up cost for sure because I measured the time
just around the while loop with the same results.
------------------------------------------------------------------------
[2005-04-28 04:37:03] [EMAIL PROTECTED]
How long are the lines in your file?
------------------------------------------------------------------------
[2005-04-28 01:58:55] [EMAIL PROTECTED]
Startup costs could be 8 seconds or more depending on the extensions
you are loading. That said PHP's fgets() is still slower then Perl's
because of it's implementation that does not wrap the C library fgets()
or getline(), but rather uses custom code.
------------------------------------------------------------------------
[2005-04-24 20:20:54] peoned at yahoo dot com
I don't agree that this is a bogus bug. You want to tell me that the
start up cost is responsible for 8 seconds? Than you have a performance
bug with your start up cost. Run it with fread($fin, 1024); where did
the start up cost go? Simplifying the script to while($line =
fgets($fin)){} doesn't help either. And automatic detection of new
lines is disabled. Did you run some of your own tests?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/32806
--
Edit this bug report at http://bugs.php.net/?id=32806&edit=1