Здравствуйте, STilda, Вы писали:
ST>Привожу профайлинг для 10 млн чисел на входе.
ST>Также через запуск с RTS видно здоровый поток по памяти (9 гиг) что настораживает.
ничего стращого, главное что времени на gc уходит немного. памяти много потому, что каждая промежуточное значение аллокируется, это тебе не update-in-place
далее:
1) convolution = sum . zipWith (*)
2) запись у тебя идёт через строки, а не ByteString
3) writeFile filename . unwords . map show
4) твой split break = words