image.tobytes() has some great opportunities for SIMD acceleration.
It currently has an old SIMD backend that never builds because it is from before we learned how to do dynamic dispatch.
I think there are things in SSE3 that would be helpful here (better shuffle instructions), so maybe this one could use a SSE3 (or higher SSE) backend and an AVX2 backend, instead of our typical SSE2/AVX2 combination.
image.tobytes() being faster would help people using it to stream their surfaces into textures, so it could help a few people out noticeably.
image.tobytes() has some great opportunities for SIMD acceleration.
It currently has an old SIMD backend that never builds because it is from before we learned how to do dynamic dispatch.
I think there are things in SSE3 that would be helpful here (better shuffle instructions), so maybe this one could use a SSE3 (or higher SSE) backend and an AVX2 backend, instead of our typical SSE2/AVX2 combination.
image.tobytes() being faster would help people using it to stream their surfaces into textures, so it could help a few people out noticeably.