Fast Site Engine
Высокопроизводительный движок для сайтов
Заказать сайт на основе движка
О движкеПроизводительностьБезопасностьТехнические требованияSEO 
Лицензионное соглашение
Демо
Установка
Панель управления
Модули
Документация
Шаблоны
Тесты производительности php
Планы на будущее
Список изменений
Отзывы и пожелания
Переходим на Линукс
Всякое разное
Тесты производительности php  »  file vs file_get_contents vs fopen vs SplFileObject php

file vs file_get_contents vs fopen vs SplFileObject php

Сегодня проведу тестирование на предмет: как быстрее всего открыть файл в php и считать его в строку. Есть методы быстрее, которые сразу отдают файл на страницу, но мне они не нужны. Тестирование буду проводить по отдельности, чтоб уберечься от файлового кэша.. Сам здравомыслием раньше не пользовался, на практике не проверял, в инете где-то понаписано было про file круче ну и использовал implode('',file($file)). Конечно же есть мелкая погрешность из-за нагруженности дисковой системы, брал результат который появлялся чаще..

$file=' 22,7 kb ';
$d1=file_get_contents($file);
$h=fopen($file,'r');
$d2=fread($h,filesize($file));
fclose($h);
$d3=implode('',file($file));
$d4='';
$h=fopen($file,'r');
while(!feof($h)) $d4.=fgets($h);
fclose($h);
$h=new SplFileObject($file,'r');
$d5=$h->fread($h->getSize());
$d6='';
$h=new SplFileObject($file,'r');
while(!$h->eof()) $d6.=$h->fgets();
$h=null;
Компьютер:
вpемяпамятьмедленнее набольше памяти на
1 file_get_contents0.00007623.15 kb0 с.0 %0 kb0 %
2 fopen fread0.00008023.31 kb+0.000004 с.+5 %+0.16 kb+0.69 %
3 implode file0.00020323.25 kb+0.000127 с.+62.56 %+0.1 kb+0.43 %
4 fopen fgets0.00025523.28 kb+0.000179 с.+70.2 %+0.13 kb+0.56 %
5 SplFileObject fread0.00028223.31 kb+0.000206 с.+73.05 %+0.16 kb+0.69 %
6 SplFileObject fgets0.00028323.31 kb+0.000207 с.+73.14 %+0.16 kb+0.69 %
Сервер:
вpемяпамятьмедленнее набольше памяти на
1 file_get_contents0.00006523.22 kb0 с.0 %0 kb0 %
2 fopen fread0.00008523.39 kb+0.000020 с.+23.53 %+0.17 kb+0.73 %
3 implode file0.00020723.33 kb+0.000142 с.+68.6 %+0.11 kb+0.47 %
5 SplFileObject fread0.00025523.39 kb+0.000190 с.+74.51 %+0.17 kb+0.73 %
4 fopen fgets0.00027723.36 kb+0.000212 с.+76.53 %+0.14 kb+0.6 %
6 SplFileObject fgets0.00032023.39 kb+0.000255 с.+79.69 %+0.17 kb+0.73 %

Хвалёный SplFileObject, как и ожидалось, тормознее всего..

Страница сгенерирована за 0.001319 секунды
На один процесс веб-сервера: 758 стр/сек.
Всего Apache может отдать: 194 048 стр/сек.
Выделено php памяти: 828.14 KB, real_usage: 2 MB

© Все права защищены 2004 - 2018
Карта сайта
Отслеживать изменения в Твиттере
Политика конфиденциальности

Браузер построил за сек.
Полное время сек.

С момента выгрузки предыдущей страницы из памяти браузера: сек.