Работа с большими файлами (больше 100мб)

Статус
В этой теме нельзя размещать новые ответы.
А насколько вариант с stream_get_line будет дольше/меньше этих предложенных вариантов? Есть ситуации когда она быстрее работает, а есть когда реально задерживает раз в 10.

А так довольно интересно посмотреть результаты тестов с
fgets
fgetc
fread
stream_get_line
 
А насколько вариант с stream_get_line будет дольше/меньше этих предложенных вариантов? Есть ситуации когда она быстрее работает, а есть когда реально задерживает раз в 10.
А так довольно интересно посмотреть результаты тестов с
fgets
fgetc
fread
stream_get_line
Мною проверялись все функции, fgetc оказалась самая быстроходная.
stream_get_line и fgets примерно одинаковы.


betatest: в файле сделай все строки разной длиной от 10 байт до 8 мегабайт. Интересно - какой ты выставишь буфер для чтения одной строки заведомо не зная ее максимальный размер в файле? При измерениях не забудь про буферизацию вывода, тогда и увидишь разницу :p
 
в файле сделай все строки разной длиной от 10 байт до 8 мегабайт

Тысяча чертей, вы где такие файлы используете?)))

Мною проверялись все функции, fgetc оказалась самая быстроходная.
stream_get_line и fgets примерно одинаковы.

Я так понимаю, проверялось именно на таких длинностроковых файла и нулевом stream_set_write_buffer..
А что насчет тоже больших файлов (от нескольких гигов), но с нормальными строками....по 1-8kb ?
 
А что насчет тоже больших файлов (от нескольких гигов), но с нормальными строками....по 1-8kb ?
именно на таком файле и проводилось тестирование, результаты которого, я привел выше в посте (до 256 кб там)
разница впечатляющая
сгенерю еще попозже файл с длинными строками и проверю с таким файлом
 
Ды вот и мне кажется fgets будет быстрее на коротких строчках. Да и хз, где такие файлы могу встречатся..
 
вот результат с файлом со строками от 2-5мб



возможно, при каких-то нереальных строках и сравняется, но для работы это не пригодится
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху