3 ms·
I believe the bounds check, in particular, is devastating for autovectorization. There are ways around it, but it requires additional code in safe rust. Edit:
by cogman10 2mo ago
I believe the bounds check, in particular, is devastating for autovectorization. There are ways around it, but it requires additional code in safe rust.
Edit: actually looks like autovectorization is in play here [1]. Doesn't look like the bounds check gets in the way at all.
[1] https://godbolt.org/z/af4qGba5o https://godbolt.org/z/af4qGba5o
- dzaima 2mo agoThere's no autovectorization there; scalar f64-s just are always stored in xmm registers. And the bounds check is still there.