# Use CityHash for fast hashing if it is available; use Digest::MD5 otherwise begin require 'cityhash' rescue LoadError unless RUBY_PLATFORM == 'java' warn <<-NOTICE ** Notice: CityHash was not loaded. ** For optimal performance, use of the cityhash gem is recommended. Run the following command, or add it to your Gemfile: gem install cityhash NOTICE end require 'digest/md5' end module IdentityCache module CacheHash if defined?(CityHash) def memcache_hash(key) #:nodoc: CityHash.hash64(key) end else def memcache_hash(key) #:nodoc: a = Digest::MD5.digest(key).unpack('LL') (a[0] << 32) | a[1] end end end end