Skip to content

amplemarket/xxhash

 
 

Repository files navigation

xxHash Build Status

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 2.3+
  • rbx-19mode

Note: It doesn't work on JRuby as it uses C extension.

Versioning

Version 0.5.0 is equal to 0.6.2

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Copyright

Copyright (c) 2022 Vasiliy Ermolovich. See LICENSE.txt for further details.

About

Ruby wrapper for xxHash

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 93.5%
  • C 3.5%
  • Ruby 3.0%