SVI d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
..
matchfinder d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
LICENSE d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
README.md d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
backward_references.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
backward_references_hq.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
bit_cost.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
bit_reader.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
bitwriter.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
block_splitter.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
block_splitter_command.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
block_splitter_distance.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
block_splitter_literal.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
brotli_bit_stream.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
cluster.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
cluster_command.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
cluster_distance.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
cluster_literal.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
command.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
compress_fragment.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
compress_fragment_two_pass.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
constants.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
context.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
decode.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
dictionary.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
dictionary_hash.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
encode.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
encoder.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
encoder_dict.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
entropy_encode.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
entropy_encode_static.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
fast_log.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
find_match_length.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
h10.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
h5.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
h6.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
hash.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
hash_composite.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
hash_forgetful_chain.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
hash_longest_match_quickly.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
hash_rolling.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
histogram.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
http.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
huffman.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
literal_cost.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
memory.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
metablock.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
metablock_command.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
metablock_distance.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
metablock_literal.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
params.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
platform.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
prefix.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
prefix_dec.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
quality.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
reader.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
ringbuffer.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
state.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
static_dict.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
static_dict_lut.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
symbol_list.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
transform.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
utf8_util.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
util.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
write_bits.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa
writer.go d3589a5b2f SVI Перенос кода; 100.0% 1 anno fa

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.