Ruby wrapper for xxHash
Install
gem install xxhash
Usage
require 'xxhash'
text = "test"
seed = 12345
XXhash.xxh32(text, seed) # => 3834992036
If you do not provide a seed, it will use the default value 0
.
You can use it with IO
objects too:
XXhash.xxh32_stream(StringIO.new('test'), 123) # => 2758658570
You can use it with file path directly, avoiding costly ruby-related operations.
XXhash.xxh32_file(__FILE__)
Note that you can also pass a chunk size as third param (it's 32 bytes by default)
XXH64 is also supported: you can use xxh64
, xxh64_stream
, .xxh64_file
.
Supported Ruby versions
- MRI 3.1+
Note: It doesn't work on JRuby as it uses C extension.
Versioning
Version 0.5.0 is equal to 0.6.2
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Copyright
Copyright (c) 2022 Vasiliy Ermolovich. See LICENSE.txt for further details.