dwst, Никто не делает по теории, слишком затратно, существует так называемая быстрая свёртка через преобразования Фурье, когда нормально всё сделано, тогда точность не страдает, но алгоритмы разные тут, можно сделать проще, но результат будет хуже, а можно сделать правильно. Ещё можно сделать с нулевой задержкой (точнее задержка порядка буфера карты, так что можно результат выдать сразу), а можно без... типа LeCab.
Я как-то тестировал отдельные конвольверы (только не помню в какой теме картинку выкладывал уже), так что повторю:
Это разница по отношению к эталлонной свёртке в Wolfram Mathematica.
Строго говоря не везде правильно так тестировать, т.к. не везде отключаются фильтры (EQ).