SVI a1a08d78c3 SVI Перемещение před 1 rokem
..
matchfinder a1a08d78c3 SVI Перемещение před 1 rokem
.gitignore a1a08d78c3 SVI Перемещение před 1 rokem
LICENSE a1a08d78c3 SVI Перемещение před 1 rokem
README.md a1a08d78c3 SVI Перемещение před 1 rokem
backward_references.go a1a08d78c3 SVI Перемещение před 1 rokem
backward_references_hq.go a1a08d78c3 SVI Перемещение před 1 rokem
bit_cost.go a1a08d78c3 SVI Перемещение před 1 rokem
bit_reader.go a1a08d78c3 SVI Перемещение před 1 rokem
bitwriter.go a1a08d78c3 SVI Перемещение před 1 rokem
block_splitter.go a1a08d78c3 SVI Перемещение před 1 rokem
block_splitter_command.go a1a08d78c3 SVI Перемещение před 1 rokem
block_splitter_distance.go a1a08d78c3 SVI Перемещение před 1 rokem
block_splitter_literal.go a1a08d78c3 SVI Перемещение před 1 rokem
brotli_bit_stream.go a1a08d78c3 SVI Перемещение před 1 rokem
cluster.go a1a08d78c3 SVI Перемещение před 1 rokem
cluster_command.go a1a08d78c3 SVI Перемещение před 1 rokem
cluster_distance.go a1a08d78c3 SVI Перемещение před 1 rokem
cluster_literal.go a1a08d78c3 SVI Перемещение před 1 rokem
command.go a1a08d78c3 SVI Перемещение před 1 rokem
compress_fragment.go a1a08d78c3 SVI Перемещение před 1 rokem
compress_fragment_two_pass.go a1a08d78c3 SVI Перемещение před 1 rokem
constants.go a1a08d78c3 SVI Перемещение před 1 rokem
context.go a1a08d78c3 SVI Перемещение před 1 rokem
decode.go a1a08d78c3 SVI Перемещение před 1 rokem
dictionary.go a1a08d78c3 SVI Перемещение před 1 rokem
dictionary_hash.go a1a08d78c3 SVI Перемещение před 1 rokem
encode.go a1a08d78c3 SVI Перемещение před 1 rokem
encoder.go a1a08d78c3 SVI Перемещение před 1 rokem
encoder_dict.go a1a08d78c3 SVI Перемещение před 1 rokem
entropy_encode.go a1a08d78c3 SVI Перемещение před 1 rokem
entropy_encode_static.go a1a08d78c3 SVI Перемещение před 1 rokem
fast_log.go a1a08d78c3 SVI Перемещение před 1 rokem
find_match_length.go a1a08d78c3 SVI Перемещение před 1 rokem
h10.go a1a08d78c3 SVI Перемещение před 1 rokem
h5.go a1a08d78c3 SVI Перемещение před 1 rokem
h6.go a1a08d78c3 SVI Перемещение před 1 rokem
hash.go a1a08d78c3 SVI Перемещение před 1 rokem
hash_composite.go a1a08d78c3 SVI Перемещение před 1 rokem
hash_forgetful_chain.go a1a08d78c3 SVI Перемещение před 1 rokem
hash_longest_match_quickly.go a1a08d78c3 SVI Перемещение před 1 rokem
hash_rolling.go a1a08d78c3 SVI Перемещение před 1 rokem
histogram.go a1a08d78c3 SVI Перемещение před 1 rokem
http.go a1a08d78c3 SVI Перемещение před 1 rokem
huffman.go a1a08d78c3 SVI Перемещение před 1 rokem
literal_cost.go a1a08d78c3 SVI Перемещение před 1 rokem
memory.go a1a08d78c3 SVI Перемещение před 1 rokem
metablock.go a1a08d78c3 SVI Перемещение před 1 rokem
metablock_command.go a1a08d78c3 SVI Перемещение před 1 rokem
metablock_distance.go a1a08d78c3 SVI Перемещение před 1 rokem
metablock_literal.go a1a08d78c3 SVI Перемещение před 1 rokem
params.go a1a08d78c3 SVI Перемещение před 1 rokem
platform.go a1a08d78c3 SVI Перемещение před 1 rokem
prefix.go a1a08d78c3 SVI Перемещение před 1 rokem
prefix_dec.go a1a08d78c3 SVI Перемещение před 1 rokem
quality.go a1a08d78c3 SVI Перемещение před 1 rokem
reader.go a1a08d78c3 SVI Перемещение před 1 rokem
ringbuffer.go a1a08d78c3 SVI Перемещение před 1 rokem
state.go a1a08d78c3 SVI Перемещение před 1 rokem
static_dict.go a1a08d78c3 SVI Перемещение před 1 rokem
static_dict_lut.go a1a08d78c3 SVI Перемещение před 1 rokem
symbol_list.go a1a08d78c3 SVI Перемещение před 1 rokem
transform.go a1a08d78c3 SVI Перемещение před 1 rokem
utf8_util.go a1a08d78c3 SVI Перемещение před 1 rokem
util.go a1a08d78c3 SVI Перемещение před 1 rokem
write_bits.go a1a08d78c3 SVI Перемещение před 1 rokem
writer.go a1a08d78c3 SVI Перемещение před 1 rokem

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.