Giter Club home page Giter Club logo

Comments (6)

koraa avatar koraa commented on August 16, 2024

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.

mardukbp avatar mardukbp commented on August 16, 2024

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.

mardukbp avatar mardukbp commented on August 16, 2024

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.

koraa avatar koraa commented on August 16, 2024

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.

alexmaco avatar alexmaco commented on August 16, 2024

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.

koraa avatar koraa commented on August 16, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.