crypt of decay - sse is overrated [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

sse is overrated [Jan. 23rd, 2016|10:08 am]
Previous Entry Add to Memories Tell A Friend Next Entry
йобнул цикл ресамплера (fir-фильтр) на see. получил ~2x speedup. подумал — и сделал unrolled loop (четырёхкратный). получил примерно то же самое по скорости (совсем чуть-чуть медленней).

нет, компилятор не умеет векторизовать операции, умеет только срать кодом для FPU.
Linkmeow!

Comments:
From:[info]tzirechnoy.livejournal.com
Date:January 23rd, 2016 - 06:40 pm
(Link)
Ты небось на 32-х битах? Там да, немного.
Вот 8-битное сложэние хорошо бустит.
[User Picture]
From:[info]ketmar
Date:January 23rd, 2016 - 07:12 pm
(Link)
ну так флоаты же, звук же «в процессе обработки». делать fir на восьми битах — это даже я до такого извращения никак…
From:[info]tzirechnoy.livejournal.com
Date:January 24th, 2016 - 02:04 pm
(Link)
Ещё и флоты. Ну-ну. Не хочешь срулить хотя бы на 32-bit fixed point?
[User Picture]
From:[info]ketmar
Date:January 24th, 2016 - 02:50 pm
(Link)
а какой смысл?

сейчас, например, ворбис‐декодер, плюс hq ресамплер, плюс микшеры и конвертер в s16 жрут скопом приблизительно 2.5% CPU (по версии htop).

c одной стороны — много, конечно. а с другой — да хуйня! реально, я же не dsp-процессор пишу. для звукового движка, который я планировал использовать вообще в двухмерных ретроплатформерах — вполне заебок.

к тому же тот же деворбис (да и sfxr) выплёвывают флоаты. вот я щаз всё бросил, и ради призрачного выигрыша в пол‐процента побежал всё это переписывать на fixed point. да ну.

прошли вермена, когда этим имело смысл заморачиваться.
[User Picture]
From:[info]ketmar
Date:January 24th, 2016 - 02:52 pm
(Link)
p.s. а при реальном использовании — так ресамплер может вообще из картинки вылететь, потому что я могу предварительно прочитать те же ворбисы, разжать в мозг и сразу сделать ресампл до нужной частоты. делов‐то: зря, что ли, гигабайты памяти простаивают?