u128

Mar. 12th, 2021 10:59 pm
amarao: (Default)
[personal profile] amarao
u128 (без всяких доп.трюков) сделало почти чудо, да.

На форуме мне показали bytemuck, позволяющий сделать "запретное" в расте и кастануть [u8] к [u128] с правильным пересчётом размера.

Итог:

noise fill 2560x1440    time:   [2.2220 ms 2.2227 ms 2.2239 ms]                                  
                        change: [-88.993% -88.989% -88.984%] (p = 0.00 < 0.05)
                        Performance has improved.


2.2ms на полное наполнение 2560х1440 (x4), это 454 раз за секунду, более чем достаточно для практических задач шума.

Собственно, это же подтверждается и практическим замером: 100% шума в каждом кадре даёт 260 FPS.

Итого:

1) u128
2) #[inline(always)]

... И ещё одно доказательство тезиса, что не-многопроцессные оптимизации лучше. От 6 тредов я бы получил максимум 5x улучшение, а тут - 9-кратное, причём, практически, без крупноархитектурных усложнений.

Сам код тут: https://github.com/amarao/sdl_random
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

amarao: (Default)
amarao

April 2026

S M T W T F S
   1234
567 891011
12131415161718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 12th, 2026 03:18 pm
Powered by Dreamwidth Studios