You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently lovr uses FNV1a for hashing. The implementation in util.h is like 5 lines, but because it hashes the input 1 byte at a time, it's slow for large inputs. It might be better to switch to a faster hash function like xxh3 or rapidhash (previously wyhash). These are a lot faster because they hash multiple bytes at a time. I wonder if this could have a meaningful difference in performance anywhere. Hashing the gpu_pipeline_info structs might be noticeable, because that struct is a few hundred bytes.
The text was updated successfully, but these errors were encountered:
Currently lovr uses FNV1a for hashing. The implementation in util.h is like 5 lines, but because it hashes the input 1 byte at a time, it's slow for large inputs. It might be better to switch to a faster hash function like xxh3 or rapidhash (previously wyhash). These are a lot faster because they hash multiple bytes at a time. I wonder if this could have a meaningful difference in performance anywhere. Hashing the
gpu_pipeline_info
structs might be noticeable, because that struct is a few hundred bytes.The text was updated successfully, but these errors were encountered: