Ищу быстрый способ чтения построчно большого файла с конца.
Нашел такой вариант с fseek https://werxltd.com/wp/2010/10/29/reading-a-file-line-by-line-in-reverse-with... но он тормозной. Все примеры в гугле основаны на перемещении указателя, но почему то все тормозное. Неужели fseek операция такая ресурсоемкая?
Собственно нужно вот что. Анализ лог-файла за последний час(в кроне скрипт запускается каждый час) и отыскивание ошибок с оповещением админу. Читаю файл с конца и когда дохожу до строки X, то прерывается
Замерил
Считывание 10 000 строк с начала файла
time loganalizer.php
real 0m0.020s
Считывание 50 000 строк с начала файла
time loganalizer.php
real 0m0.036s
Считывание 10 000 строк с конца файла
time loganalizer.php
real 0m3.105s
Считывание 50 000 строк с конца файла
time loganalizer.php
real 0m15.547s
stat /var/log/nginx/access.log.1
Size: 2 497 557 076
разница просто сумасшедшая, с конца файла в 155 и 500 раз дольше