Comments (6)
XXHash has been implemented in rust; XXH3 (which is a lot faster) has not… Can you point me at a XXH3 implementation in rust?
from huniq.
There is a PR for the crate mentioned above implementing XXH3 in Rust.
I would like to use huniq as a cross-platform uniq, that I can easily install with cargo. Maybe I will just have to write my own inspired by your post in Medium.
from huniq.
I just had a look at the code of huniq. It seems to me that it would not require much effort to offer the possibility to choose between the Rust implementation of XXHash and the bindings to the C implementation of XXH3. That way people who are willing to sacrifice performance for ease of installation can benefit from your effort too :)
from huniq.
That is great! We can try to move to that once the PR is merged. I would be happy to accept a PR that adds a feature flag!
from huniq.
Imo, a feature flag can make the rust implementation much less useful, since most users will do cargo install huniq
, and still use xxhash. Assuming that benchmarking (on diverse data, with various amounts of lines, length distribution and ordering) shows that using twox-hash is at least as fast as xxhash, would you consider accepting a PR that completely replaces xxhash ?
from huniq.
twox implements xxhash, this uses xxh3 which are separate algorithims…
Benchmarks have shown that xxh3 is quicker in one shot mode, but at this point I am ready to question the validity of those benchmarks…
The benchmarks need to be redone, this time in proper rust…
I'd say if xxh3 is to be replaced, it should be replaced by ahash not twox…
from huniq.
Related Issues (19)
- build error HOT 1
- build error HOT 1
- Building problems on macOS HOT 3
- Rust based benchmarks & Tests
- Sort options
- Related post from Cloudflare HOT 2
- Benchmark against runiq HOT 1
- Don't output trailing delimiter if the input doesn't contain one HOT 1
- Leak allocated memory
- confusion about the description HOT 5
- musl binary HOT 2
- Create releases on GitHub
- Not much quicker than awk one-liner with numeric keys HOT 4
- Work incorrectly HOT 4
- Add a flag to use BTreeMap, so that the output is emited sorted
- Add an option for huniq -c to indent numbers like uniq -c HOT 1
- Handle stdout being closed prematurely
- csv files with huniq -c
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 huniq.