Здесь сравнение не корректное (между Express и Fastify). Express в функции sendFile "под капотом" использует fs.readFile(), т.е. читает файл с диска (один раз) целиком, и только после этого вызывает колбэк (когда весь файл в оперативной памяти). В Fastify используете стримы, которые читают файл с дика (HDD, SSD) порционно, т.е. может быть много обращение к диску, а это сильно медленно. Плюс, стрим добавляет калбэк в eventloop (когда прочитал порцию данных), что тоже замедляет выполнение. P.S. что "под капотом" у Коа, не знаю.
Здесь сравнение не корректное (между Express и Fastify).
Express в функции sendFile "под капотом" использует fs.readFile(), т.е. читает файл с диска (один раз) целиком, и только после этого вызывает колбэк (когда весь файл в оперативной памяти).
В Fastify используете стримы, которые читают файл с дика (HDD, SSD) порционно, т.е. может быть много обращение к диску, а это сильно медленно. Плюс, стрим добавляет калбэк в eventloop (когда прочитал порцию данных), что тоже замедляет выполнение.
P.S. что "под капотом" у Коа, не знаю.