[info] Dart Port of XXH3 #702
Labels
No labels
announcement
bug
build
CI
dependencies
documentation
duplicate
enhancement
experience feedback
feature request
github_actions
help wanted
install
invalid
Long-term
optimization
portability
question
target-specific
test issue
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-Cyan4973/xxHash#702
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hey,
I was impressed by XXH3's performance metrics and it had all the right attributes for a project I was working on... but there was no Dart version (of it or any other xxHashes) so I went ahead and made a Dart port of it.
https://pub.dev/packages/xxh3
https://github.com/SamJakob/xxh3
I might look at porting xxHash32 and 64 or making native bindings for them, but as XXH3 seemed pretty perfect for my use case I more or less stopped looking there.
If anyone with some experience with Dart (or just hashing) wouldn't mind taking a look at the project that'd be cool! I don't have too much experience with implementing hashing algorithms and mostly worked from the constexpr libary here:
https://github.com/chys87/constexpr-xxh3
I also need to add unit tests to the package but as far as code coverage I've tested most of it so it should be good to go.
For those that are interested - the reason I made a port and not a
dart:ffi(foreign function interface) binding:Dart can call C libraries but the key reason I selected Dart for the project is its portability and unfortunately Dart's
ffifor C-interop doesn't seem to work as effortlessly as I'd like across the board (in Flutter mobile apps and desktop). However, this package should at the very least serve as a good fallback and base for building platform-specific bindings should that be desired in future.Dart port listed on xxHash homepage