aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* README: RevampGravatar Runxi Yu2025-11-241-90/+60
|
* pack: Do not madviseGravatar Runxi Yu2025-11-241-11/+0
| | | | | Apparently although it's not fully sequential, the general pattern is sort-of increasing in offsets as trees are being traversed.
* byteorder: PurgeGravatar Runxi Yu2025-11-232-176/+0
|
* .build.yml: Add go vetGravatar Runxi Yu2025-11-231-0/+3
| | | | | | It could detect mismatches between the Go function signature and asm; not super useful but good to have... not sure why golangci-lint's go vet doesn't do this.
* adler32: Update assembly param names to pass go vetGravatar Runxi Yu2025-11-233-8/+8
|
* bufpool: Return bytes.Buffer, rather than a pointer to itGravatar Runxi Yu2025-11-235-65/+66
| | | | | | It's silly to allocate a bytes.Buffer struct, however small it is, every time Borrow is called, since the entire purpose is to reduce allocations.
* obj: Add ReadObjectTypeRawGravatar Runxi Yu2025-11-221-0/+26
|
* obj: Return ErrNotFound, not ErrInvalidObject, when not found in packsGravatar Runxi Yu2025-11-221-1/+1
|
* obj: call parseObjectBody in ReadObject instead of loose/pack readersGravatar Runxi Yu2025-11-223-19/+21
|
* pack: Allocate the header on the stack insteadGravatar Runxi Yu2025-11-221-1/+2
|
* zlib, flatex: Remove code related to dictsGravatar Runxi Yu2025-11-229-414/+171
| | | | Git never uses them
* flatex: Remove the stale readByte(s) wrappers and just directly index the bufferGravatar Runxi Yu2025-11-221-36/+18
|
* bufpool: Return *BufferGravatar Runxi Yu2025-11-225-68/+62
|
* bufpool: Improve perf by using buckets of different size classesGravatar Runxi Yu2025-11-227-34/+182
|
* flatex: Reformat codeGravatar Runxi Yu2025-11-221-3/+5
|
* Remove the multi-pack-index tests which is unused anywayGravatar Runxi Yu2025-11-221-73/+0
|
* README: Note on integer overflowsGravatar Runxi Yu2025-11-221-0/+2
|
* pack: Don't use bytes.Reader cursor, use mmaped slice directlyGravatar Runxi Yu2025-11-221-74/+66
|
* diffbytes: Fix linter error on redundant if statementGravatar Runxi Yu2025-11-211-4/+1
|
* Add DiffBytesGravatar Runxi Yu2025-11-212-0/+548
|
* Add stringToBytes/bytesToStringGravatar Runxi Yu2025-11-211-0/+17
|
* Add DiffTreesGravatar Runxi Yu2025-11-212-0/+433
|
* adler32: Add benchmarkGravatar Runxi Yu2025-11-201-0/+22
|
* Fix linter errorsGravatar Runxi Yu2025-11-202-4/+4
|
* Revert "Add initial support for multi pack indexes"Gravatar Runxi Yu2025-11-203-336/+0
| | | | | | | This reverts commit 6f8acbf1503d2fa1ef705d35a743fc6b279942e5. Apparently my MIDX support is broken and it breaks some repos... it'll be added back when ready.
* refs: Support resolving hashes as refsGravatar Runxi Yu2025-11-202-0/+60
|
* refs: ResolveRef and ResolveRefFully, no HEAD splitGravatar Runxi Yu2025-11-203-107/+267
|
* README: no more zlib branchGravatar Runxi Yu2025-11-191-2/+1
|
* README: A little bit of optional Go assemblyGravatar Runxi Yu2025-11-191-1/+2
|
* Add purego to testsGravatar Runxi Yu2025-11-191-0/+3
|
* Add the right go:build'sGravatar Runxi Yu2025-11-192-0/+4
|
* Replace adler32 with github.com/mhr3/adler32-simdGravatar Runxi Yu2025-11-1919-895/+937
| | | | Unfortunately no VSX support yet
* Ignore some errors in the tests (actually from stdlib but linter complains)Gravatar Runxi Yu2025-11-192-11/+11
|
* Remove the broken compression benchmarking utilityGravatar Runxi Yu2025-11-196-224/+0
|
* SIMD with AVX2 on supported AMD64 machinesGravatar Runxi Yu2025-11-195-92/+423
| | | | | | | | | Some help from gpt-5.1-thinking taken: used wrong register size for the weighted sum at first, so it was truncating the second half of our block; also there was an overflow from the modulus and stuff. Unfortunately the AVX2 adler32 is only about 20% faster than the generic version which doesn't make for much.
* Well, we use a dependency (golang.org/x/sys/cpu) now...Gravatar Runxi Yu2025-11-193-3/+6
|
* adler32: Add tests from the standard libraryGravatar Runxi Yu2025-11-192-0/+388
|
* Switch back to internal zlib for loose objects tooGravatar Runxi Yu2025-11-195-3/+425
| | | | Still marginally less overhead due to pooling
* Probably should name the custom packages speciallyGravatar Runxi Yu2025-11-1912-25/+24
|
* Remove some redundant codeGravatar Runxi Yu2025-11-192-55/+14
|
* flate: Remove unused codeGravatar Runxi Yu2025-11-193-447/+4
|
* pack: Iterative instead of recursive resolverGravatar Runxi Yu2025-11-191-116/+160
|
* SliceInflater is probably a better name for thatGravatar Runxi Yu2025-11-192-52/+496
| | | | And let's just basically not use io.Reader at all
* Initial attempt to make a compressor with less overheadGravatar Runxi Yu2025-11-197-42/+386
| | | | io.Reader actually has massive overhead...
* adler32: Unroll update loopGravatar Runxi Yu2025-11-191-7/+70
|
* byteorder: ImportGravatar Runxi Yu2025-11-192-0/+176
|
* Add adler32 and LICENSEGravatar Runxi Yu2025-11-192-0/+156
|
* zlib: Use internal adler32Gravatar Runxi Yu2025-11-191-1/+1
|
* Our zlib ought to be read-only for nowGravatar Runxi Yu2025-11-196-1942/+10
|
* Add zlib test dataGravatar Runxi Yu2025-11-196-0/+222
|