Project

xxhash

0.3
Low commit activity in last 3 years
A long-lived project that still receives updates
Ruby wrapper for xxHash lib
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

xxHash Ruby

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.6.0 is equal to 0.8.1

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) 2024 Vasiliy Ermolovich. See LICENSE.txt for further details.