shad-go/gzep/README.md
2022-05-06 01:09:09 +03:00

26 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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
```