Получается вариант с файлом - писать в файл, перекодируя входной поток (потому что 200 мегов в файле - сильно лучше чем в памяти), а после окончания потока - узнать размер и начать отдачу.
Две очевидные оптимизации - до какого-то предела (мег там или даже половина) копить всё в памяти (для 99.9% запросов файл и не понадобится), а файл удалять сразу при создании и работать через дескриптор - чтоб мусор на диске не возникал.
После этого T.I.P.A.P.R.O.X.Y можно считать законченным и переходить к плагинам (например, чистка и слияние дерева комментариев ЖЖ в одну длинную ленту, что уже давно написано).