mirror of https://github.com/tidwall/tile38.git
cfc65a13f6
This commit includes updates that affects the build, testing, and deployment of Tile38. - The root level build.sh has been broken up into multiple scripts and placed in the "scripts" directory. - The vendor directory has been updated to follow the Go modules rules, thus `make` should work on isolated environments. Also some vendored packages may have been updated to a later version, if needed. - The Makefile has been updated to allow for making single binaries such as `make tile38-server`. There is some scaffolding during the build process, so from now on all binaries should be made using make. For example, to run a development version of the tile38-cli binary, do this: make tile38-cli && ./tile38-cli not this: go run cmd/tile38-cli/main.go - Travis.CI docker push script has been updated to address a change to Docker's JSON repo meta output, which in turn fixes a bug where new Tile38 versions were not being properly pushed to Docker |
||
---|---|---|
.. | ||
LICENSE | ||
README.md | ||
map.go | ||
u64.go |
README.md
rhh
(Robin Hood Hashmap)
A simple and efficient hashmap package for Go using the
xxhash
algorithm,
open addressing, and
robin hood hashing.
This is an alternative to the standard Go map.
Getting Started
Installing
To start using rhh
, install Go and run go get
:
$ go get -u github.com/tidwall/rhh
This will retrieve the library.
Usage
The Map
type works similar to a standard Go map, and includes four methods:
Set
, Get
, Delete
, Len
.
var m rhh.Map
m.Set("Hello", "Dolly!")
val, _ := m.Get("Hello")
fmt.Printf("%v\n", val)
val, _ = m.Delete("Hello")
fmt.Printf("%v\n", val)
val, _ = m.Get("Hello")
fmt.Printf("%v\n", val)
// Output:
// Dolly!
// Dolly!
// <nil>
Contact
Josh Baker @tidwall
License
rhh
source code is available under the MIT License.