user 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
..
matchfinder 62881bab8e d06 Затаскивание во внутренний пакет %!s(int64=2) %!d(string=hai) anos
LICENSE 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
README.md 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
backward_references.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
backward_references_hq.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
bit_cost.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
bit_reader.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
bitwriter.go 62881bab8e d06 Затаскивание во внутренний пакет %!s(int64=2) %!d(string=hai) anos
block_splitter.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
block_splitter_command.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
block_splitter_distance.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
block_splitter_literal.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
brotli_bit_stream.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
cluster.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
cluster_command.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
cluster_distance.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
cluster_literal.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
command.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
compress_fragment.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
compress_fragment_two_pass.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
constants.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
context.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
decode.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
dictionary.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
dictionary_hash.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
encode.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
encoder.go 62881bab8e d06 Затаскивание во внутренний пакет %!s(int64=2) %!d(string=hai) anos
encoder_dict.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
entropy_encode.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
entropy_encode_static.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
fast_log.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
find_match_length.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
h10.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
h5.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
h6.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
hash.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
hash_composite.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
hash_forgetful_chain.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
hash_longest_match_quickly.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
hash_rolling.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
histogram.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
http.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
huffman.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
literal_cost.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
memory.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
metablock.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
metablock_command.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
metablock_distance.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
metablock_literal.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
params.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
platform.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
prefix.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
prefix_dec.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
quality.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
reader.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
ringbuffer.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
state.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
static_dict.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
static_dict_lut.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
symbol_list.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
transform.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
utf8_util.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
util.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
write_bits.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos
writer.go 16d38111e1 d05 Права на файлы %!s(int64=2) %!d(string=hai) anos

README.md

This package is a brotli compressor and decompressor implemented in Go. It was translated from the reference implementation (https://github.com/google/brotli) with the c2go tool at https://github.com/andybalholm/c2go.

I have been working on new compression algorithms (not translated from C) in the matchfinder package. You can use them with the NewWriterV2 function. Currently they give better results than the old implementation (at least for compressing my test file, Newton’s Opticks) on levels 2 to 6.

I am using it in production with https://github.com/andybalholm/redwood.

API documentation is found at https://pkg.go.dev/github.com/andybalholm/brotli?tab=doc.