Как посчитать строки в больших файлах

Необходимо в CSV-файле посчитать количество строк быстро. Ранее использовал следующий алгоритм:

$csv = new SplFileObject($url);
$csv->setCsvControl($delimiter, $enclosure, $escape);
$csv->setFlags($flags);
$csv->seek(PHP_INT_MAX);
$lines = $csv->key();
$csv->rewind();

и на файле 20+Мб стал неожиданно получать порядка 10 секунд на обсчёт. Но если сделать вот так…


$csv = new SplFileObject($url);
$csv->setFlags(null);
$csv->seek(PHP_INT_MAX);
$lines = $csv->key();
$csv->rewind();
$csv->setCsvControl($delimiter, $enclosure, $escape);
$csv->setFlags($flags);

Скорость обсчёта снизилась до 0-1сек.

Теги:

Воскресенье, 01 Май 2016 Программирование
Май 2016
Пн Вт Ср Чт Пт Сб Вс
« Июн   Авг »
 1
2345678
9101112131415
16171819202122
23242526272829
3031