Integer Compression Libraries for Go

Overview
Issues
  • Go tip compilation error

    Go tip compilation error

    github.com/dataence/encoding

    asm: invalid instruction: 00006 (/home/travis/gopath/src/github.com/dataence/encoding/bitlen_amd64.s:6) JEQ Z1 asm: assembly failed

    opened by chrislusf 3
  • Is dataence/encoding the same repository?

    Is dataence/encoding the same repository?

    There are import paths that points to github.com/dataence/encoding/* all over the library. It seems as you moved this repository from dataence to zentures and you forgot to change to paths. Am I right? I could open a quick PR and fix the paths.

    opened by vteromero 1
  • Minor perf improv. + shorter unit tests

    Minor perf improv. + shorter unit tests

    1. I have improved fastpfor by converting the bytes on-the-fly. It is still not as fast as it should be but it is about 10% faster. What we need to do is a simple cast, and it should be possible:

    http://stackoverflow.com/questions/11924196/convert-between-slices-of-different-types

    but I couldn't make it work. In Java, the cast happens underneath... that's why I use a ByteBuffer... to speed things up... Your implementation of a ByteBuffer in Go is nice and elegant, but it still does a lot of unnecessary copying.

    1. You test with very, very large arrays which, at least on my machine, takes several seconds. This seems unnecessary. If one wants to test on very large arrays, you could just construct a large slice and just assign some values into it, instead of generating fancy random data...
    opened by lemire 1
  • go get fails with asm:

    go get fails with asm: "".bitlen: invalid instruction: 00006

    when doing go get github.com/zentures/encoding, it fails with:

    asm: "".bitlen: invalid instruction: 00006 (/home/.../go/pkg/mod/github.com/zentures/[email protected]/bitlen_amd64.s:6) JEQ Z1 asm: assembly failed Ubuntu 21.10 machine

    opened by daugminas 0
  • Using SIMD accelerated functions (x64)

    Using SIMD accelerated functions (x64)

    There is a Go library that provides SIMD-accelerated packing and unpacking functions. It seems that some of the codecs of this library could make use of such functions.

    Reference: https://github.com/robskie/bp128

    opened by lemire 1
IntSet - Integer based Set based on a bit-vector

IntSet - Integer based Set based on a bit-vector Every integer that is stored will be converted to a bit in a word in which its located. The words are

Jakob Möller 0 Feb 2, 2022
Novel, efficient, and practical image compression with visually appealing results. 🤏 ✨

Tiny Thumb ?? ✨ A novel, efficient, and practical method for lossy image compression, that produces visually appealing thumbnails. This technique is u

Slack 6 Aug 5, 2022
Data Structure Libraries and Algorithms implementation

Algorithms Data Structure Libraries and Algorithms implementation in C++ Disclaimer This repository is meant to be used as a reference to learn data s

Priyank Chheda 638 Aug 16, 2022
Unsigned Integer 32 Byte Packing Compression

dbp32 Unsigned Integer 32 Byte Packing Compression. Inspired by lemire/FastPFor. Package bp32 is an implementation of the binary packing integer compr

Ali Josie 2 Sep 6, 2021
Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

Gonum Installation The core packages of the Gonum suite are written in pure Go with some assembly. Installation is done using go get. go get -u gonum.

null 6k Aug 12, 2022
Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

Gonum Installation The core packages of the Gonum suite are written in pure Go with some assembly. Installation is done using go get. go get -u gonum.

null 6k Aug 9, 2022
fast integer log base 10

Package log10 calculates log base 10 of an integer, fast. It is inspired by Daniel Lemire's blog post on this topic. TODO: Add implementations for oth

Josh Bleecher Snyder 10 Mar 3, 2022
A simple evaluator for arithmetic integer expressions.

The expr package provides a simple evaluator for arithmetic integer expressions. The syntax and operations are the same as in Go. Operands are the nat

Rob Pike 79 Aug 7, 2022
Simple go package which converts roman strings to integer

romanparse Simple go package which converts roman strings

Caio Ribeiro Pereira 3 Jul 2, 2022
Fast integer map for uint32-to-uint32

Uint32-to-Uint32 Map This repository contains an implementation of uint32-to-uint32 map which is ~20-50% faster than Go standard map for the same type

Roman Atachiants 20 Jul 25, 2022
Simple gc using integer vectors to simulate

gcint Simple gc using integer vectors to simulate Iterate primarily over what should be the shorter vector (readers) removing unused references in fro

Matt Rutkowski 0 Nov 24, 2021
Algorithms for various integer sequences from the OEIS site.

OEIS The ongoing quest to program every sequence in the OEIS database (in Golang) Content sequences -- The folder containing the seq package, which co

null 0 Dec 23, 2021
Program that counts the bits in an unsigned integer

popcountloop This is an exercise of the book The Go Programming Language, by Ala

Santiago Rodriguez 0 Dec 18, 2021
Guess-number-game - Computer thoughts of some integer number, you must guess it with limited number of attempts

Guess number game Rules Computer has thought of some integer number. You must guess it, you have numberOfAttempts attempts. How to run Just type in co

Nikita Shamaev 0 Dec 31, 2021
Takes an integer array, returns the array sorted and the number of inversions in the array

Takes an integer slice, returns the slice sorted and the number of inversions in the slice

SaSo 0 Jan 25, 2022
IntSet - Integer based Set based on a bit-vector

IntSet - Integer based Set based on a bit-vector Every integer that is stored will be converted to a bit in a word in which its located. The words are

Jakob Möller 0 Feb 2, 2022
Bigint - Immutable arbitrary-precision integer for Go

bigint Go's big.Int is mutable to enable flexibility in performance tuning but s

Minswap 5 Mar 3, 2022
Optimized compression packages

compress This package provides various compression algorithms. zstandard compression and decompression in pure Go. S2 is a high performance replacemen

Klaus Post 3.1k Aug 11, 2022
Go wrapper for LZO compression library

This is a cgo wrapper around the LZO real-time compression library. LZO is available at http://www.oberhumer.com/opensource/lzo/ lzo.go is the go pack

Damian Gryski 13 Mar 4, 2022
Port of LZ4 lossless compression algorithm to Go

go-lz4 go-lz4 is port of LZ4 lossless compression algorithm to Go. The original C code is located at: https://github.com/Cyan4973/lz4 Status Usage go

Бранимир Караџић 209 Jun 14, 2022
LZ4 compression and decompression in pure Go

lz4 : LZ4 compression in pure Go Overview This package provides a streaming interface to LZ4 data streams as well as low level compress and uncompress

Pierre Curto 677 Aug 12, 2022
Go parallel gzip (de)compression

pgzip Go parallel gzip compression/decompression. This is a fully gzip compatible drop in replacement for "compress/gzip". This will split compression

Klaus Post 955 Aug 5, 2022
Using brotli compression to embed static files in Go.

?? Broccoli go get -u aletheia.icu/broccoli Broccoli uses brotli compression to embed a virtual file system of static files inside Go executables. A f

Aletheia 526 Jul 15, 2022
The Snappy compression format in the Go programming language.

The Snappy compression format in the Go programming language. To download and install from source: $ go get github.com/golang/snappy Unless otherwis

Go 1.3k Aug 11, 2022
Package cae implements PHP-like Compression and Archive Extensions.

Compression and Archive Extensions 中文文档 Package cae implements PHP-like Compression and Archive Extensions. But this package has some modifications de

ᴜɴᴋɴᴡᴏɴ 36 Jun 16, 2022
Optimized compression packages

compress This package provides various compression algorithms. zstandard compression and decompression in pure Go. S2 is a high performance replacemen

Klaus Post 3.1k Aug 9, 2022
Interfaces for LZ77-based data compression

Pack Interfaces for LZ77-based data compression. Introduction Many compression libraries have two main parts: Something that looks for repeated sequen

Andy Balholm 3 Oct 19, 2021
Simple image compression using SVD

SVD image compression An implementation image compression using SVD decomposition on Go Built With Go 1.17 Gonum Compression examples Header Image Ori

null 4 Mar 30, 2022
An effective time-series data compression/decompression method based on Facebook's Gorilla.

Gorilla This package provides the effective time-series data compression method based on Facebook's Gorilla.. In a nutshell, it uses delta-of-delta ti

Keisuke Umegaki 51 Jul 21, 2022