Comments (5)
Thank you @tgross35 for your feedback and ideas! Having it work on stable is definitely a must, I'll try to address this as soon as I can π
from gxhash.
Glad to be of help! Another option is to add a Cargo feature called nightly
and gate anything that needs it under #[cfg(feature = "nightly)]
, with a fallback implementation under #[cfg(not(feature = "nightly))]
. Then anyone who needs the highest performance can enable the feature, everyone else can live with the slightly slower stable version.
Doing something similar to gate all handwritten simd could help make this work in WASM and other targets (no_std)
Thank you for the invitation, I accepted but don't know how I can help - I know about rust mechanics but not so much about the inner workings of hash algorithms. I suppose feel free to ping me if you need a hand figuring something out.
from gxhash.
Awesome project by the way!
from gxhash.
Done :)
'avx2' feature will require unstable toolchain however. I don't know if there is a way to have to work on the stable toolchain, but I think that can be addressed later.
I've added you as a contributor in case you want to review.
from gxhash.
It seems to also address another usability issue: I am under the impression that stdsimd
required users to build with target-cpu=native
otherwise performance would be degraded. Anyway it is much better without all these unstable features now, merging this and releasing.
Thanks a lot!
from gxhash.
Related Issues (20)
- Use aligned loads in get_partial_safe HOT 3
- Couple issues in the paper HOT 2
- Make GxHasher DOS resistant
- Don't finalize in Hasher::write, but in finish instead HOT 2
- Possible seed and value recovery HOT 8
- Missing `std` compatibility traits on `GxHasher` and `GxBuildHasher` HOT 1
- How to use AVX2 only for hashmap/set, and use stable hash for hash128/64/32 HOT 12
- how to use AVX2 only for hashmap/set οΌand use stable hash for hash128
- Tracking: missing compatibility with `std::HashMap` & `std::HashSet` HOT 5
- Hybrid state gxhash HOT 12
- Major bug: out of bounds read for some input sizes HOT 1
- Primitives specialization for Hasher HOT 4
- cargo bench --no-fail-fast -F=avx2 failed HOT 9
- Quality issue: permutations produce the same hashes? HOT 4
- Latency benchmarks HOT 6
- Add fallback for platforms without AES acceleration
- Readme image link broken HOT 1
- error[E0432]: unresolved import `platform` HOT 13
- how many bytes use write() each time that are most efficient?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gxhash.