shad-go/gzep/README.md

27 lines
1.1 KiB
Markdown
Raw Normal View History

2022-05-05 16:20:16 +00:00
## gzep [runtime]
2022-05-05 16:08:49 +00:00
2022-05-05 22:09:09 +00:00
В этой задаче нужно победить бенчмарк, "улучшив" функцию сжатия в `gzip`.
2022-05-05 16:10:19 +00:00
Пример запуска бенчмарка для бейзлайна и авторского решения:
```
goos: linux
goarch: amd64
2022-05-05 16:20:16 +00:00
pkg: gitlab.com/slon/shad-go/gzep
2022-05-05 16:10:19 +00:00
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
2022-05-05 16:20:16 +00:00
ok gitlab.com/slon/shad-go/gzep 3.756s
2022-05-05 16:10:19 +00:00
```
### С чего начать?
2022-05-05 22:09:09 +00:00
Запустите бенчмарк локально. Найдите в коде `compress/gzip` откуда берутся эти сотни килобайт на одну итерацию. Подумайте какой стандартный способ избежать подобных аллокаций есть в языке.
Советуем попробовать что-нибудь написать прежде чем посмотреть ответ
```
echo "c3luYy5Qb29sCg==" | base64 -d
```