shad-go/gzep/README.md

27 lines
1.2 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
2023-10-03 17:25:41 +00:00
pkg: gitlab.com/manytask/itmo-go/public/gzep
2022-05-05 16:10:19 +00:00
cpu: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
BenchmarkEncodeSimple
2022-05-07 12:11:26 +00:00
BenchmarkEncodeSimple-8 7047 176628 ns/op 813872 B/op 17 allocs/op
2022-05-05 16:10:19 +00:00
BenchmarkEncode
2022-05-07 12:11:26 +00:00
BenchmarkEncode-8 41706 32616 ns/op 19 B/op 0 allocs/op
2022-05-05 16:10:19 +00:00
PASS
2023-10-03 17:25:41 +00:00
ok gitlab.com/manytask/itmo-go/public/gzep 3.625s
2022-05-05 16:10:19 +00:00
```
### С чего начать?
2022-05-05 22:09:09 +00:00
Запустите бенчмарк локально. Найдите в коде `compress/gzip` откуда берутся эти сотни килобайт на одну итерацию. Подумайте какой стандартный способ избежать подобных аллокаций есть в языке.
Советуем попробовать что-нибудь написать прежде чем посмотреть ответ
```
echo "c3luYy5Qb29sCg==" | base64 -d
```