aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* 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
* adler32: Add tests from the standard libraryGravatar Runxi Yu2025-11-192-0/+388
* Switch back to internal zlib for loose objects too•••Still marginally less overhead due to pooling Gravatar Runxi Yu2025-11-195-3/+425
* 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 that•••And let's just basically not use io.Reader at all Gravatar Runxi Yu2025-11-192-52/+496
* Initial attempt to make a compressor with less overhead•••io.Reader actually has massive overhead... Gravatar Runxi Yu2025-11-197-42/+386
* 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
* Import flateGravatar Runxi Yu2025-11-1910-2/+3234
* README: Mention the zlib branchGravatar Runxi Yu2025-11-191-0/+1
* zlib: Add missing error check for flate ResetGravatar Runxi Yu2025-11-181-1/+4
* madviseGravatar Runxi Yu2025-11-181-0/+12
* hare-git historyGravatar Runxi Yu2025-11-181-0/+5
* Fix import orderGravatar Runxi Yu2025-11-182-2/+4
* Faster than libgit2 at recursive ls-treeGravatar Runxi Yu2025-11-181-2/+2
* Use a pooled zlib implementation•••It's trivially forked from the standard library and improves git ls-tree -r --long speed by approximately 25%. Gravatar Runxi Yu2025-11-185-2/+416
* Remove redundant copy in loose.goGravatar Runxi Yu2025-11-181-2/+1
* Add tests with race detectorGravatar Runxi Yu2025-11-181-0/+6
* Bump Go version to 1.25.3Gravatar Runxi Yu2025-11-181-1/+1
* README: Drop gccgo compatibility sectionGravatar Runxi Yu2025-11-181-8/+0
* Add a basic change-id fieldGravatar Runxi Yu2025-11-171-0/+5
* Disable per-object validation during reads•••In general, git inflates the packed objects and recomputes the object hash before accepting them into hte object database during remote operations. But when simply inflating/parsing the objects for read from the local object store, it does not recompute the hash. Gravatar Runxi Yu2025-11-173-9/+9
* Update perf statsGravatar Runxi Yu2025-11-171-15/+19
* pack: Use a Go map with a mutex instead of a sync.Map for packfiles•••Very few writes, you don't typically see more than a dozen packfiles. A ton of reads. Go maps are the obvious choice. Gravatar Runxi Yu2025-11-172-25/+37
* Revert "Compute checksum when reading packfiles"•••This reverts commit 1dcb92427c23d0a8b23c0154b892243c749afa5a. Yeah this should be part of the network protocol rather than being done on *every read*. Gravatar Runxi Yu2025-11-174-58/+3
* Remove an unnecessary blank lineGravatar Runxi Yu2025-11-172-2/+0
* Compute checksum when reading packfilesGravatar Runxi Yu2025-11-174-3/+58
* Add internal todoGravatar Runxi Yu2025-11-171-0/+9
* Remove meaningless commentGravatar Runxi Yu2025-11-171-1/+0
* refs: resolvePackedRef shall return ErrNotFound when not finding refsGravatar Runxi Yu2025-11-171-2/+2
* Make the internal serialize function a method insteadGravatar Runxi Yu2025-11-173-21/+21
* Add a little bit more of documentationGravatar Runxi Yu2025-11-166-14/+43
* README: benmarking -> testGravatar Runxi Yu2025-11-161-2/+2
* Use actual git for tests and enhance HeadGravatar Runxi Yu2025-11-1623-1279/+2105
* EntryRecursive should return ErrNotFound instead of nil, nilGravatar Runxi Yu2025-11-161-3/+2
* Fix some docs and API typesGravatar Runxi Yu2025-11-166-8/+18
* repo is thread safeGravatar Runxi Yu2025-11-161-0/+3
* Documentation overhaulGravatar Runxi Yu2025-11-1611-33/+97
* Separate stored object types from types that the user is expected to construct.Gravatar Runxi Yu2025-11-167-34/+83