C# обогнал C в фильтре Gaussian blur для VLC

C vs. C#: racing VLC's Gaussian blur

C# обогнал C в фильтре Gaussian blur для VLC

Мартин Финкель портировал фильтр Gaussian blur из VLC на C# построчно и запустил оба варианта в одном VLC на одинаковых кадрах. В первом раунде C# отставал на 23%, но после двух правок разрыв сократился до 8%. Затем он оптимизировал алгоритм и добавил AVX2 SIMD: настроенный C# достигает 236 кадров в секунду против 240 у C при sigma 4 — в 30 раз быстрее текущего кода VLC.

Сборщик мусора здесь ни при чём — ему нечего собирать, как и проверкам границ, которых избегают сырые указатели. Всё дело в генераторе кода: LLVM справляется с этими циклами лучше, чем RyuJIT.

Ещё за этот день

2026-10-24