<feed xmlns='http://www.w3.org/2005/Atom'>
<title>~runxiyu/furgit.git/internal/adler32/bench_test.go, branch master</title>
<subtitle>Git library in pure Go</subtitle>
<id>https://cgit.space/~runxiyu/furgit.git/atom/internal/adler32/bench_test.go?h=master</id>
<link rel='self' href='https://cgit.space/~runxiyu/furgit.git/atom/internal/adler32/bench_test.go?h=master'/>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/'/>
<updated>2026-03-06T10:58:30Z</updated>
<entry>
<title>*: Lint</title>
<updated>2026-03-06T10:58:30Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-03-06T10:38:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=f2922155de01b734e3e8b3f50be8f263ec13cacd'/>
<id>urn:sha1:f2922155de01b734e3e8b3f50be8f263ec13cacd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*: Lint</title>
<updated>2026-03-04T00:59:53Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-03-04T00:26:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=ab7501be34032fb9e5c48726a68ae90a917af9eb'/>
<id>urn:sha1:ab7501be34032fb9e5c48726a68ae90a917af9eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>adler32: Use adler32_test as the test package name</title>
<updated>2026-02-22T04:25:27Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-22T04:25:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=246c82d09118977d45e6ccdf3a289ba0f451cd87'/>
<id>urn:sha1:246c82d09118977d45e6ccdf3a289ba0f451cd87</id>
<content type='text'>
</content>
</entry>
<entry>
<title>adler32: Import</title>
<updated>2026-02-22T03:38:33Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-22T03:38:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=5e26980abad6374917aafad7e6c8120cd2e55d63'/>
<id>urn:sha1:5e26980abad6374917aafad7e6c8120cd2e55d63</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Delete everything, I'm redesigning this.</title>
<updated>2026-02-20T11:07:14Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-20T11:06:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=aa513c069c1418734aea894dc944e27c6a78a3bb'/>
<id>urn:sha1:aa513c069c1418734aea894dc944e27c6a78a3bb</id>
<content type='text'>
I'll stop using a flat package and make things much more modular.
And also experiment with streaming APIs so large blobs don't OOM us.
</content>
</entry>
<entry>
<title>adler32: Add benchmark</title>
<updated>2025-11-20T00:00:00Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2025-11-20T00:00:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=2d70cfd89c2a3ab5af00ba8bb557a36ef8395a02'/>
<id>urn:sha1:2d70cfd89c2a3ab5af00ba8bb557a36ef8395a02</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace adler32 with github.com/mhr3/adler32-simd</title>
<updated>2025-11-19T00:00:03Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2025-11-19T00:00:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=7d60b65249c8af355d739ccf44482a899d89c9c1'/>
<id>urn:sha1:7d60b65249c8af355d739ccf44482a899d89c9c1</id>
<content type='text'>
Unfortunately no VSX support yet
</content>
</entry>
<entry>
<title>SIMD with AVX2 on supported AMD64 machines</title>
<updated>2025-11-19T00:00:00Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2025-11-19T00:00:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=676f08cc4b0deb397033598ac96c0d0272fcae05'/>
<id>urn:sha1:676f08cc4b0deb397033598ac96c0d0272fcae05</id>
<content type='text'>
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.
</content>
</entry>
</feed>
