aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/format/packfile/scanner.go
Commit message (Collapse)AuthorAgeFilesLines
* *: Remove use of deprecated io/utilPaulo Gomes2023-05-111-3/+2
| | | | Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* Optimize zlib reader and consolidate sync.poolsPaulo Gomes2022-11-071-32/+22
| | | | | | | | | | | | | | | | | | | Expands on the optimisations from https://github.com/fluxcd/go-git/pull/5 and ensures that zlib reader does not need to recreate a deflate dictionary at every use. The use of sync pools was consolidated into a new sync utils package. name old time/op new time/op delta Parser-16 7.51ms ± 3% 7.71ms ± 6% ~ (p=0.222 n=5+5) name old alloc/op new alloc/op delta Parser-16 4.65MB ± 3% 1.90MB ± 3% -59.06% (p=0.008 n=5+5) name old allocs/op new allocs/op delta Parser-16 3.48k ± 0% 3.32k ± 0% -4.57% (p=0.016 n=5+4) Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* Use Sync.Pool pointers to optimise memory usagePaulo Gomes2022-11-071-5/+9
| | | | Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* Fix typos (#532)Quanyi Ma2022-09-221-2/+2
|
* plumbing: format/packfile, prevent large objects from being read into memory ↵zeripath2021-06-301-0/+15
| | | | | | | | | | | | | | | completely (#330) This PR adds code to prevent large objects from being read into memory from packfiles or the filesystem. Objects greater than 1Mb are now no longer directly stored in the cache or read completely into memory. This PR differs and improves the previous broken #323 by fixing several bugs in the reader and transparently wrapping ReaderAt as a Reader. Signed-off-by: Andrew Thornton <art27@cantab.net>
* Revert "plumbing: format/packfile, prevent large objects from being read ↵v5.4.2zeripath2021-06-021-15/+0
| | | | | into memory completely (#303)" (#329) This reverts commit 720c192831a890d0a36b4c6720b60411fa4a0159.
* plumbing: format/packfile, prevent large objects from being read into memory ↵v5.4.0zeripath2021-05-121-0/+15
| | | | | | | | | | | completely (#303) This PR adds code to prevent large objects from being read into memory from packfiles or the filesystem. Objects greater than 1Mb are now no longer directly stored in the cache or read completely into memory. Signed-off-by: Andrew Thornton <art27@cantab.net>
* *: migration from gopkg to go modulesMáximo Cuadros2020-03-101-3/+3
|
* plumbing: packfile/scanner, readability/performance improvements, zlib poolingArran Walker2019-04-221-105/+84
| | | | Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
* plumbing: format/packfile, performance optimizations for reading large ↵Filip Navara2018-11-281-4/+42
| | | | | | commit histories (#963) Signed-off-by: Filip Navara <navara@emclient.com>
* *: Use CheckClose with named returnsJavi Fontan2018-03-271-2/+3
| | | | | | | | Previously some close errors were losts. This is specially problematic in go-git as lots of work is done here like generating indexes and moving packfiles. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing: packfile, Add a buffer to crc writer.Javi Fontan2018-01-211-9/+31
| | | | | | | | | | | crc update with block smaller than 16 bytes uses a slower version of the function. ReadByte is heavily used by zlib inflate so most of the time crc is update byte by byte. A new Flush method is added to the scanner to flush this crc writer cache. It is only called when the Scanner reader is a teeReader. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* packfile: improve performance a little by reducing gc pressureMiguel Molina2017-09-041-2/+13
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* packfile: check zlib reader closing errorSantiago M. Mola2017-07-191-13/+8
|
* format/packfile: rename Seek to SeekFromStartSantiago M. Mola2017-04-261-2/+3
| | | | | | This has signature and behavior distinct from io.Seeker, go vet complains about this, so we change it to a different name to avoid confusion.
* project: move imports from srcd.works to gopkg.inAntonio Jesus Navarro Perez2017-03-071-2/+2
| | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-301-2/+2
|
* packfile/scanner: reset zlib reader instead of new one (#201)Antonio Navarro Perez2017-01-121-5/+20
|
* revision based on goreportcard.comMáximo Cuadros2016-12-061-1/+1
|
* plumbing/packfile: PACK encoder (#131)Antonio Navarro Perez2016-11-241-15/+1
| | | | | | | | | | | | * plumbing/packfile: PACK encoder - Added simple PACK encoder, deltas not supported by now * Requested changes * Requested changes * Requested changes
* new plumbing package (#118)Máximo Cuadros2016-11-081-0/+418
* plumbing: now core was renamed to core, and formats and clients moved inside