Fast Site Engine

Высокопроизводительная CMS для сайтов.

Сделать сайт

Карта сайта
Переходим на Линукс
Политика конфиденциальности
Сделать сайт на основе Fast Site Engine

Установка
Документация
Список изменений
Лицензионное соглашение

Скачать
О движкеПроизводительностьБезопасностьТехнические требованияSEOКонтакты

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;
Компьютер:
времяпамятьмедленнее набольше памяти на
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 %
Сервер:
времяпамятьмедленнее набольше памяти на
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, как и ожидалось, тормознее всего..



© Все права защищены 2004 - 2024