Jarek Kowalski
35d0f31c0d
huge: replaced the use of allocated byte slices with populating gather.WriteBuffer in the repository ( #1244 )
...
This helps recycle buffers more efficiently during snapshots.
Also, improved memory tracking, enabled profiling flags and added pprof
by default.
2021-08-20 08:45:10 -07:00
Jarek Kowalski
9e059a1277
upgraded linter to 1.41.0 ( #1144 )
2021-06-16 19:44:55 -07:00
Jarek Kowalski
38d01d4c4d
compression: added 'lz4' and 'deflate' methods ( #1077 )
...
* compression: add mapping from HeaderID to Name
* compression: minor refactoring
* compression: added 'lz4' based on 'github.com/pierrec/lz4'
* compression: added 'deflate' support
* cli: 'kopia benchmark compression' improvements
2021-05-16 14:42:56 -07:00
Jarek Kowalski
30ca3e2e6c
Upgraded linter to 1.40.1 ( #1072 )
...
* tools: upgraded linter to 1.40.1
* lint: fixed nolintlint vionlations
* lint: disabled tagliatele linter
* lint: fixed remaining warnings
2021-05-15 12:12:34 -07:00
Jarek Kowalski
7c108930ef
testing: ensure tests are releasing all buffer pools to reduce memory usage, we had huge leaks ( #895 )
...
* testing: ensure tests are releasing all buffer pools to reduce memory usage, we had huge leaks
* object: reduced complexity and memory usage of TestEndToEndReadAndSeekWithCompression
* manifest: more test fixes
* trivial: update comment
Co-authored-by: Julio López <julio+gh@kasten.io >
2021-03-18 06:40:33 -07:00
Jarek Kowalski
388fc32a65
compression: added benchmark to measure impact of library upgrades ( #892 )
...
Usage:
$ go test -run NONE -bench=. ./repo/compression/... | tee file.txt
To compare: https://pkg.go.dev/golang.org/x/tools/cmd/benchcmp
2021-03-16 21:47:14 -07:00
Jarek Kowalski
1f3b8d4da4
upgrade linter to 1.35 ( #786 )
...
* lint: added test that enforces Makefile and GH action linter versions are in sync
* workaround for linter gomnd problem - https://github.com/golangci/golangci-lint/issues/1653
2021-01-16 18:21:16 -08:00
Jarek Kowalski
9a6dea898b
Linter upgrade to v1.30.0 ( #526 )
...
* fixed godot linter errors
* reformatted source with gofumpt
* disabled some linters
* fixed nolintlint warnings
* fixed gci warnings
* lint: fixed 'nestif' warnings
* lint: fixed 'exhaustive' warnings
* lint: fixed 'gocritic' warnings
* lint: fixed 'noctx' warnings
* lint: fixed 'wsl' warnings
* lint: fixed 'goerr113' warnings
* lint: fixed 'gosec' warnings
* lint: upgraded linter to 1.30.0
* lint: more 'exhaustive' warnings
Co-authored-by: Nick <nick@kasten.io >
2020-08-12 19:28:53 -07:00
Jarek Kowalski
8d452a8285
performance: improvements to object manager ( #336 )
...
- added pooled splitters and ability to reset them without having to recreate
- added support for caller-provided compressor output to be able to pool it
- added pooling of compressor instances, since those are costly
2020-03-13 08:56:18 -07:00
Jarek Kowalski
514df69afa
performance: added wrapper around io.Copy()
...
this pools copy buffers so they can be reused instead of throwing away
after each io.Copy()
2020-03-10 21:52:30 -07:00
Jarek Kowalski
ac70a38101
lint: upgraded to 1.22.2 and make lint issues a build failure
...
fixed or silenced linter warnings, mostly due to magic numeric constants
2020-01-03 16:39:30 -08:00
Jarek Kowalski
2ba4e83cef
moved all compression to separate package and sanitized identifiers
2019-12-10 23:25:28 -08:00