shad-go/gzep
2022-05-06 01:43:15 +03:00
..
encode.go [vegz] Rename to gzep. 2022-05-05 19:20:16 +03:00
encode_test.go [gzep] Small test improvements. 2022-05-06 01:43:15 +03:00
README.md [gzep] Improve readme. 2022-05-06 01:09:09 +03:00

gzep [runtime]

В этой задаче нужно победить бенчмарк, "улучшив" функцию сжатия в gzip.

Пример запуска бенчмарка для бейзлайна и авторского решения:

goos: linux
goarch: amd64
pkg: gitlab.com/slon/shad-go/gzep
cpu: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
BenchmarkEncodeSimple
BenchmarkEncodeSimple-8   	    8307	    124841 ns/op	  813872 B/op	      17 allocs/op
BenchmarkEncode
BenchmarkEncode-8         	 2094512	       620.0 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	gitlab.com/slon/shad-go/gzep	3.756s

С чего начать?

Запустите бенчмарк локально. Найдите в коде compress/gzip откуда берутся эти сотни килобайт на одну итерацию. Подумайте какой стандартный способ избежать подобных аллокаций есть в языке.

Советуем попробовать что-нибудь написать прежде чем посмотреть ответ

echo "c3luYy5Qb29sCg==" | base64 -d