diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 31ded7a..1ff43a2 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -1111,3 +1111,45 @@ jobs: - name: Test working-directory: circl/simd/keccakf1600 run: go test ./... + bytedance-gopkg-util-xxhash3: + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@c4a742cab115ed795e34d4513e2cf7d472deb55f # v3.3.1 + with: + go-version: 1.21.x + check-latest: true + - name: Checkout avo + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 + with: + path: avo + persist-credentials: false + - name: Checkout bytedance/gopkg + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 + with: + repository: bytedance/gopkg + ref: a5eedbe96960cf0f801cf970e89f511842daee75 + path: gopkg + persist-credentials: false + - name: Setup Generator Module + working-directory: gopkg/util/xxhash3/internal/avo + run: | + sed -i.bak '/build ignore/d' *.go + go mod init github.com/bytedance/gopkg/util/xxhash3/internal/avo + - name: Avo Module Replacement + working-directory: gopkg/util/xxhash3/internal/avo + run: | + go mod edit -modfile=go.mod -require=github.com/mmcloughlin/avo@v0.0.0-00010101000000-000000000000 + go mod edit -modfile=go.mod -replace=github.com/mmcloughlin/avo=${{ github.workspace }}/avo + go mod tidy -modfile=go.mod + - name: Generate + working-directory: gopkg/util/xxhash3/internal/avo + run: | + go run . -avx2 -out ../../avx2_amd64.s + go run . -sse2 -out ../../sse2_amd64.s + - name: Diff + working-directory: gopkg/util/xxhash3 + run: git diff + - name: Test + working-directory: gopkg/util/xxhash3 + run: go test ./... diff --git a/README.md b/README.md index ce7dda5..2e0afd7 100644 --- a/README.md +++ b/README.md @@ -192,10 +192,10 @@ Implementations of full algorithms: Popular projects[^projects] using `avo`: [^projects]: Projects drawn from the `avo` third-party test suite. Popularity -estimated from Github star count collected on Jan 1, 2024. +estimated from Github star count collected on Jan 9, 2024. [golang / **go**](https://github.com/golang/go) -:star: 116.7k +:star: 116.8k > The Go programming language [klauspost / **compress**](https://github.com/klauspost/compress) @@ -210,12 +210,16 @@ estimated from Github star count collected on Jan 1, 2024. :star: 1.8k > Reed-Solomon Erasure Coding in Go + [bytedance / **gopkg**](https://github.com/bytedance/gopkg) +:star: 1.4k +> Universal Utilities for Go + [cloudflare / **circl**](https://github.com/cloudflare/circl) :star: 1.1k > CIRCL: Cloudflare Interoperable Reusable Cryptographic Library [segmentio / **asm**](https://github.com/segmentio/asm) -:star: 820 +:star: 821 > Go library providing algorithms optimized to leverage the characteristics of modern CPUs [zeebo / **xxh3**](https://github.com/zeebo/xxh3) @@ -230,10 +234,6 @@ estimated from Github star count collected on Jan 1, 2024. :star: 316 > A pure-Go implementation of the BLAKE3 cryptographic hash function - [minio / **md5-simd**](https://github.com/minio/md5-simd) -:star: 159 -> Accelerate aggregated MD5 hashing performance up to 8x for AVX512 and 4x for AVX2. Useful for server applications that need to compute many MD5 sums in parallel. - See the [full list of projects using `avo`](doc/adopters.md). ## Contributing diff --git a/doc/adopters.md b/doc/adopters.md index 0fbc9a1..8ada31a 100644 --- a/doc/adopters.md +++ b/doc/adopters.md @@ -16,6 +16,10 @@ Optimized Go Compression Packages Reed-Solomon Erasure Coding in Go + [bytedance / **gopkg**](https://github.com/bytedance/gopkg) + +Universal Utilities for Go + [cloudflare / **circl**](https://github.com/cloudflare/circl) CIRCL: Cloudflare Interoperable Reusable Cryptographic Library @@ -40,14 +44,14 @@ A pure-Go implementation of the BLAKE3 cryptographic hash function Accelerate aggregated MD5 hashing performance up to 8x for AVX512 and 4x for AVX2. Useful for server applications that need to compute many MD5 sums in parallel. - [FiloSottile / **edwards25519**](https://github.com/FiloSottile/edwards25519) - -filippo.io/edwards25519 — A safer, faster, and more powerful low-level edwards25519 Go implementation. - [dgryski / **go-bloomindex**](https://github.com/dgryski/go-bloomindex) Bloom-filter based search index + [FiloSottile / **edwards25519**](https://github.com/FiloSottile/edwards25519) + +filippo.io/edwards25519 — A safer, faster, and more powerful low-level edwards25519 Go implementation. + [phoreproject / **bls**](https://github.com/phoreproject/bls) Go implementation of the BLS12-381 pairing diff --git a/tests/thirdparty/suite.json b/tests/thirdparty/suite.json index 4c8c0c1..b84539f 100644 --- a/tests/thirdparty/suite.json +++ b/tests/thirdparty/suite.json @@ -171,7 +171,7 @@ }, "metadata": { "description": "Reed-Solomon Erasure Coding in Go", - "stars": 1754 + "stars": 1755 }, "default_branch": "master", "version": "922778284547557265cff0f903ab5f4c27e40ae9", @@ -230,7 +230,7 @@ }, "metadata": { "description": "Optimized Go Compression Packages", - "stars": 4320 + "stars": 4332 }, "default_branch": "master", "version": "2f236383d7c2faa8ef7e354ccecb926a5b47a24d", @@ -275,7 +275,7 @@ }, "metadata": { "description": "Bloom-filter based search index", - "stars": 116 + "stars": 118 }, "default_branch": "master", "version": "0902316dce158c154b958ee5cfc706c62af29a42", @@ -519,7 +519,7 @@ }, "metadata": { "description": "Go library providing algorithms optimized to leverage the characteristics of modern CPUs", - "stars": 820 + "stars": 821 }, "default_branch": "main", "version": "2bf3fdd47b1cdbe8fe020f032caf14891e10a85f", @@ -634,7 +634,7 @@ "metadata": { "description": "[mirror] Go supplementary cryptography libraries", "homepage": "https://golang.org/x/crypto", - "stars": 2864 + "stars": 2869 }, "default_branch": "master", "version": "089bfa5675191fd96a44247682f76ebca03d7916", @@ -746,7 +746,7 @@ "metadata": { "description": "The Go programming language", "homepage": "https://go.dev", - "stars": 116689 + "stars": 116833 }, "default_branch": "master", "version": "go1.20.1", @@ -817,7 +817,7 @@ "metadata": { "description": "CIRCL: Cloudflare Interoperable Reusable Cryptographic Library", "homepage": "http://blog.cloudflare.com/introducing-circl", - "stars": 1083 + "stars": 1088 }, "default_branch": "main", "version": "v1.1.0", @@ -859,7 +859,44 @@ ] } ] + }, + { + "repository": { + "owner": "bytedance", + "name": "gopkg" + }, + "metadata": { + "description": "Universal Utilities for Go", + "stars": 1405 + }, + "default_branch": "develop", + "version": "a5eedbe96960cf0f801cf970e89f511842daee75", + "packages": [ + { + "pkg": "util/xxhash3", + "module": "internal/avo/go.mod", + "setup": [ + { + "name": "Setup Generator Module", + "dir": "internal/avo", + "commands": [ + "sed -i.bak '/build ignore/d' *.go", + "go mod init github.com/bytedance/gopkg/util/xxhash3/internal/avo" + ] + } + ], + "generate": [ + { + "dir": "internal/avo", + "commands": [ + "go run . -avx2 -out ../../avx2_amd64.s", + "go run . -sse2 -out ../../sse2_amd64.s" + ] + } + ] + } + ] } ], - "metadata_last_update": "2024-01-01T05:28:16.191838199Z" + "metadata_last_update": "2024-01-09T01:47:54.01555539Z" }