|
|
|
|
|
by cogman10
15 days ago
|
|
> What's supposed to be the big source of unsafety in codecs though? Hand written assembly. It's quite easy to accidentally start reading or manipulating a block of memory you didn't intend to when doing complex SIMD transformations. > Bounds checking as a source of slowdown is overrated in a niche where you're working on fixed size blocks. I think you don't really understand how codecs work. It is not uncommon for a transformation like `a = b[c[i] * 3 + offset];`. There's no way for a compiler to omit the bounds check because it can't prove the contents of `c` aren't going to exceed the bounds of `b`. This isn't a "crappy C developer" problem. This is a "There isn't a language that does a great job at capturing high level SIMD expressions" problem. |
|