Добрый день, наше приложение формирует csv файл по запросу юзера.
Сам файл не большой, но хочеться добиться масимальной производительности.
Прямо сейчас это работает так:
Данные собираються в одном большом массиве, потом массив перегоняется в csv файл который лежит на сервере, клиенту читаеться этот файл, файл удаляеться.
время которое тратиться: 7 секунд
память выделеная для пхп: 11мб
Пробовал сделать через "php://temp":
Без массива посредине, сразу кладу данные в формате csv в temp, когда все данные сформированны достаю и отдаю юзеру.
время: 3 секунды,
память: 114мб
Изначально вместо php://temp планировалось сделать через php://stdout, но почему то неполучаеться. Возможно ктото сталкивался с подобным ? Могу я начать отдавать юзеру файл ещё до того как я сгенерил все необходимые данные ?
ну csv это текст посути. его можно выводить прямо в буфер напрямую, только перед этим выставить хедеры, что бы браузер понял что ему пихают файл csv, а не html
Альберт Табак: давно я yii работал, уже толком не помню как там все, но разве нельзя сделать метод, который не будет запускать всякие шаблонизаторы и прочее, а который тупо через echo выведет нужную инфу и все? помоему можно, а на страничке и делать запрос к этому методу через _blank аттрибут наверное будет лучше.