Skip to content

golanglib/smaz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a pure Go implementation of antirez's SMAZ, a library for compressing short, English strings (it won't work well for other languages).

Installation

$ go get github.com/kjk/smaz

Usage

import (
  "github.com/kjk/smaz"
)

func main() {
  s := "Now is the time for all good men to come to the aid of the party."
  compressed := smaz.Encode(nil, []byte(s))
  decompressed, err := smaz.Decode(nil, compressed)
  if err != nil {
    fmt.Printf("decompressed: %s\n", string(decompressed))
    ...
}

Full API documentation.

Notes

This is not a direct port of the C version. It is not guaranteed that the output of smaz.Encode will be precisely the same as the C library. However, the output should be decompressible by the C library, and the output of the C library should be decompressible by smaz.Decode.

Author

Salvatore Sanfilippo designed SMAZ and wrote [C implementation]](https://github.com/antirez/smaz).

Caleb Spare wrote initial Go port.

Krzysztof Kowalczyk improved speed of decompression (2.4x faster) and compression (1.3x faster).

Contributors

Antoine Grondin

License

MIT Licensed.

Other implementations

About

A pure Go implementation of the smaz compression library for short strings.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%