Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #18846
| From | Mateusz Viste <mateusz@xyz.invalid> |
|---|---|
| Newsgroups | comp.lang.php |
| Subject | poor performance while processing a file one byte a time |
| Date | 2022-01-20 15:16 +0100 |
| Organization | . . . |
| Message-ID | <ssbqrm$46r$1@gioia.aioe.org> (permalink) |
Hello,
I am processing some files using php. Basically I read every byte of
the file and perform a simple operation on it to compute a sum.
My initial implementation was in C, but now I am trying re-doing the
same in PHP. This is how my PHP code looks like:
function fn($fname) {
$fd = fopen($fname, 'rb');
if ($fd === false) return(0);
$result = 0;
while (!feof($fd)) {
$buff = fread($fd, 1024 * 1024);
foreach (str_split($buff) as $b) {
$result += ord($b);
$result &= 0xffff;
}
}
fclose($fd);
return($result);
}
It works, but it is really slow (approximately 100x slower than the
original C code). I know that I should not expect much performance
from interpreted PHP code, but still - is there any trick I could use to
speed this up?
I have also tried to replace str_split() and ord() with unpack('C*'),
but it was even slower. Anything else I could try?
Mateusz
Back to comp.lang.php | Previous | Next — Next in thread | Find similar | Unroll thread
poor performance while processing a file one byte a time Mateusz Viste <mateusz@xyz.invalid> - 2022-01-20 15:16 +0100
Re: poor performance while processing a file one byte a time John-Paul Stewart <jpstewart@personalprojects.net> - 2022-01-20 11:08 -0500
Re: poor performance while processing a file one byte a time Mateusz Viste <mateusz@xyz.invalid> - 2022-01-20 17:23 +0100
Re: poor performance while processing a file one byte a time John-Paul Stewart <jpstewart@personalprojects.net> - 2022-01-20 12:38 -0500
Re: poor performance while processing a file one byte a time Mateusz Viste <mateusz@xyz.invalid> - 2022-01-20 19:49 +0100
Re: poor performance while processing a file one byte a time Mateusz Viste <mateusz@xyz.invalid> - 2022-01-20 17:37 +0100
Re: poor performance while processing a file one byte a time John-Paul Stewart <jpstewart@personalprojects.net> - 2022-01-20 12:41 -0500
Re: poor performance while processing a file one byte a time Mateusz Viste <mateusz@xyz.invalid> - 2022-01-20 19:47 +0100
Re: poor performance while processing a file one byte a time Arno Welzel <usenet@arnowelzel.de> - 2022-01-20 19:23 +0100
Re: poor performance while processing a file one byte a time Mateusz Viste <mateusz@xyz.invalid> - 2022-01-20 19:45 +0100
Re: poor performance while processing a file one byte a time Arno Welzel <usenet@arnowelzel.de> - 2022-01-20 20:27 +0100
csiph-web