TGViewer
📓 Записки программера 📓 Записки программера @notes_of_programmer · 1.1K subscribers
Post #229 388
Продолжаем ковырять SSE/AVX, но тут кажется мне не помешала бы пояснительная бригада. Для поиска элемента в int[] используется Sse2.CompareEqual, которая может сравнивать 4 (Vector128) или 8 (Vector256) элементов.

До 2048 (8 КБ данных) всё работает более менее - х1.5-2 для Vector128 и ещё больше для Vector256. Однако дальше Vector128 проседает по скорости до обычного цикла на 2048 элементов (8 КБ данных) и становится медленее, чем простой цикл для 4096+ (32 КБ данных) элементов.

Vector256 проседает попозже - начиная с 5120 (20 КБ данных) элементов он сравнивается со скоростью простого цикла.

Vector128 становится медленее всех, начиная с 3072 (12 КБ данных) элементов

Пока что у меня два объяснения:
🔸 влияние L2 кэша, он насыщается и за счёт того, что данные берутся из RAM скорость резко падает
🔸 процессор уходит в throttling, однако неясно почему Vector128 становица хуже чем простой цикл (хотя возможно JIT делает loop unroll и за счёт этого получается обычный цикл быстрее)

Второй вариант я попробовал исключить, переключив режим проца в Turbo (специальной утилитой Asus), скорости чуть-чуть подросли (буквально на 4-5%), но тренды не поменялись.

С ushort ситуация выглядит другим образом - самым быстрым практически везде является Vector128<ushort> 😳 однако разрыв по скорости в разы - только <=2048 элементов (4 КБ данных), дальше разрыв крайне незначительный.

gist_int gist_ushort #sse #simd #dotnet
More from @notes_of_programmer
  1. Sep 30, 2026WSL containers is now generally available есть и морда к ним wslcontainerdesktop #windows
  2. Sep 24, 2026Надеюсь что не пригодится, но вдруг... Creating a memory dump in C# а заодно как его посмо…
  3. Sep 15, 2026А вот уже и мануалы подвезли для Dual-Screen layout вёрстки #css
  4. Sep 14, 2026Забавная штука для того чтобы накидать частично интерактивный мокап. От этого же автора ес…
  5. Sep 2, 2026Оказывается Clickhouse есть в виде wasm версии, смотрел презентации 26.8 и узнал об этом.…
  6. Aug 25, 2026Со времени этого поста плагин перестал работать т.к. в хроме поменяли версию манифеста и у…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →