У меня есть функция генератора отчетов в моем контроллере. В конце функции я помещаю
$before = microtime(true);
Затем я работаю с этим PHPExcel, устанавливая заголовки, результат, который составляет 140 строк данных в XML.
$reporter->setResult($result)
->export(new ClientReport())
->save('php://output');
Когда я возвращаюсь с функцией, я использую эту строку:
return microtime(true) - $before;
Итак, с помощью этих линий я измеряю время выполнения функции, и в результате функции я получил 6,979903936386108 микросекунд. Однако, когда я проверяю это в инспекторе сети веб-браузера, я получаю 7,5 секундума в результате. С 400 строками данных я получил 26 секунд, которые не имеют никакого отношения ко времени, которое я измеряю в функции.
Мой вопрос: как это возможно, и как я могу ускорить это время генерации? Из-за этого я не могу сгенерировать отчет с немного большим количеством данных, потому что он такой медленный.
Задача ещё не решена.
Других решений пока нет …