Почему вы "представляете, что это займет вечность"?Вы читаете файл, а затем распечатываете его - это почти единственное, что у вас есть в качестве требования - и это все, что вы делаете.Вы можете настроить скрипт несколькими способами (читать блоки, а не строки, настраивать буферы, распечатывать вместо конкатенации и т. Д.), Но если вы не знаете, сколько времени вы сейчас занимаете, как вы узнаете, что это такое?лучше / хуже?
Сначала профиль, затем найдите, если скрипт слишком медленный, затем найдите место, где он медленный, и только потом оптимизируйте (или спросите об оптимизации).