aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* hash: data after size•••This guarantees ... I guess ABI stability of where the size is, regardless of the version which may have different maxHashSize. Not too useful but I guess good practice Gravatar Runxi Yu2025-11-281-1/+1
* zlibx: Add more comprehensive testsGravatar Runxi Yu2025-11-251-8/+114
* zlibx: reader -> constantsGravatar Runxi Yu2025-11-251-0/+0
* flatex: Restructure a littleGravatar Runxi Yu2025-11-254-62/+55
* flatex: Remove unused cruftGravatar Runxi Yu2025-11-253-587/+9
* zlibx: Remove unused cruftGravatar Runxi Yu2025-11-251-125/+0
* README: Remove internal todo list and put it in a separate fileGravatar Runxi Yu2025-11-252-11/+10
* refs: Clarify how annotated tags are not peeledGravatar Runxi Yu2025-11-251-1/+1
* refs: Merge NamedRef into Ref; add ShortGravatar Runxi Yu2025-11-252-31/+162
* refs: Rename ListRef to NamedRefGravatar Runxi Yu2025-11-251-6/+6
* refs: Fix blank line in commentGravatar Runxi Yu2025-11-251-1/+1
* refs: Rename ShowRefs -> ListRefsGravatar Runxi Yu2025-11-252-18/+18
* refs: Add ShowRefsGravatar Runxi Yu2025-11-252-0/+353
* README: Add performanceGravatar Runxi Yu2025-11-241-0/+22
* README: RevampGravatar Runxi Yu2025-11-241-90/+60
* pack: Do not madvise•••Apparently although it's not fully sequential, the general pattern is sort-of increasing in offsets as trees are being traversed. Gravatar Runxi Yu2025-11-241-11/+0
* byteorder: PurgeGravatar Runxi Yu2025-11-232-176/+0
* .build.yml: Add go vet•••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. Gravatar Runxi Yu2025-11-231-0/+3
* adler32: Update assembly param names to pass go vetGravatar Runxi Yu2025-11-233-8/+8
* bufpool: Return bytes.Buffer, rather than a pointer to it•••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. Gravatar Runxi Yu2025-11-235-65/+66
* 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 dicts•••Git never uses them Gravatar Runxi Yu2025-11-229-414/+171
* 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"•••This reverts commit 6f8acbf1503d2fa1ef705d35a743fc6b279942e5. Apparently my MIDX support is broken and it breaks some repos... it'll be added back when ready. Gravatar Runxi Yu2025-11-203-336/+0
* 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-simd•••Unfortunately no VSX support yet Gravatar Runxi Yu2025-11-1919-895/+937
* 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 machines•••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. Gravatar Runxi Yu2025-11-195-92/+423
* Well, we use a dependency (golang.org/x/sys/cpu) now...Gravatar Runxi Yu2025-11-193-3/+6