doc: Adopters page (#254)

Adds page with full list of `avo` adopters. Linked to from README.

Updates #101
This commit is contained in:
Michael McLoughlin
2022-04-17 23:57:05 -07:00
committed by GitHub
parent 57ea8119b7
commit 1cbd35f134
6 changed files with 111 additions and 1 deletions

View File

@@ -20,6 +20,7 @@ For more about `avo`:
* Introductory talk ["Better `x86` Assembly Generation with Go"](https://www.youtube.com/watch?v=6Y5CZ7_tyA4) at [dotGo 2019](https://2019.dotgo.eu/) ([slides](https://speakerdeck.com/mmcloughlin/better-x86-assembly-generation-with-go))
* [Longer tutorial at Gophercon 2019](https://www.youtube.com/watch?v=WaD8sNqroAw) showing a highly-optimized dot product ([slides](https://speakerdeck.com/mmcloughlin/better-x86-assembly-generation-with-go-gophercon-2019))
* Watch [Filippo Valsorda](https://filippo.io/) live code the [rewrite of `filippo.io/edwards25519` assembly with `avo`](https://vimeo.com/679848853)
* Explore [projects using `avo`](doc/adopters.md)
* Discuss `avo` and general Go assembly topics in the [#assembly](https://gophers.slack.com/archives/C6WDZJ70S) channel of [Gophers Slack](https://invite.slack.golangbridge.org/)
_Note: APIs subject to change while `avo` is still in an experimental phase. You can use it to build [real things](examples) but we suggest you pin a version with your package manager of choice._
@@ -227,6 +228,8 @@ Popular projects using `avo`:
:star: 107
> 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
Contributions to `avo` are welcome:

89
doc/adopters.md Normal file
View File

@@ -0,0 +1,89 @@
# Adopters
<img src="https://github.com/klauspost.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [klauspost / **compress**](https://github.com/klauspost/compress) / **s2**
Optimized Go Compression Packages
<img src="https://github.com/golang.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [golang / **crypto**](https://github.com/golang/crypto) / **curve25519**
[mirror] Go supplementary cryptography libraries
<img src="https://github.com/klauspost.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [klauspost / **reedsolomon**](https://github.com/klauspost/reedsolomon)
Reed-Solomon Erasure Coding in Go
<img src="https://github.com/segmentio.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [segmentio / **asm**](https://github.com/segmentio/asm)
Go library providing algorithms optimized to leverage the characteristics of modern CPUs
<img src="https://github.com/zeebo.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [zeebo / **blake3**](https://github.com/zeebo/blake3)
Pure Go implementation of BLAKE3 with AVX2 and SSE4.1 acceleration
<img src="https://github.com/lukechampine.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [lukechampine / **blake3**](https://github.com/lukechampine/blake3)
A pure-Go implementation of the BLAKE3 cryptographic hash function
<img src="https://github.com/zeebo.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [zeebo / **xxh3**](https://github.com/zeebo/xxh3)
XXH3 algorithm in Go
<img src="https://github.com/dgryski.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [dgryski / **go-bloomindex**](https://github.com/dgryski/go-bloomindex)
Bloom-filter based search index
<img src="https://github.com/minio.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [minio / **md5-simd**](https://github.com/minio/md5-simd)
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.
<img src="https://github.com/phoreproject.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [phoreproject / **bls**](https://github.com/phoreproject/bls)
Go implementation of the BLS12-381 pairing
<img src="https://github.com/FiloSottile.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [FiloSottile / **edwards25519**](https://github.com/FiloSottile/edwards25519)
filippo.io/edwards25519 — A safer, faster, and more powerful low-level edwards25519 Go implementation.
<img src="https://github.com/lukechampine.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [lukechampine / **us**](https://github.com/lukechampine/us) / **merkle/blake2b**
An alternative interface to Sia
<img src="https://github.com/oasisprotocol.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [oasisprotocol / **curve25519-voi**](https://github.com/oasisprotocol/curve25519-voi)
High-performance Curve25519/ristretto255 for Go
<img src="https://github.com/dgryski.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [dgryski / **go-sip13**](https://github.com/dgryski/go-sip13)
siphash 1-3
<img src="https://github.com/orisano.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [orisano / **wyhash**](https://github.com/orisano/wyhash)
A pure-Go wyhash implementation.
<img src="https://github.com/oasisprotocol.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [oasisprotocol / **deoxysii**](https://github.com/oasisprotocol/deoxysii)
Go Deoxys-II-256-128
<img src="https://github.com/mmcloughlin.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [mmcloughlin / **md4**](https://github.com/mmcloughlin/md4)
Assembly-optimized MD4 hash algorithm in Go
<img src="https://github.com/dgryski.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [dgryski / **go-marvin32**](https://github.com/dgryski/go-marvin32)
Assembly-optimized Marvin32 hash function
<img src="https://github.com/dgryski.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [dgryski / **go-speck**](https://github.com/dgryski/go-speck)
SPECK cipher
<img src="https://github.com/dgryski.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [dgryski / **go-chaskey**](https://github.com/dgryski/go-chaskey)
go-chaskey: an implementation of chaskey, an efficient MAC for microcontrollers
<img src="https://github.com/ericlagergren.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [ericlagergren / **lwcrypto**](https://github.com/ericlagergren/lwcrypto) / **ascon**
NIST Lightweight Cryptography finalists
<img src="https://github.com/ericlagergren.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [ericlagergren / **lwcrypto**](https://github.com/ericlagergren/lwcrypto) / **grain**
NIST Lightweight Cryptography finalists

View File

@@ -42,6 +42,7 @@ func mainerr() (err error) {
t.Funcs(template.FuncMap{
"include": include,
"snippet": snippet,
"avatar": avatar,
})
// Load template.
@@ -163,3 +164,9 @@ func snippet(filename, start, end string) (string, error) {
return buf.String(), nil
}
// avatar returns HTML for a Github user avatar.
func avatar(owner string) (string, error) {
format := `<img src="https://github.com/%s.png?size=24" width="24" height="24" hspace="4" valign="middle" />`
return fmt.Sprintf(format, owner), nil
}

View File

@@ -0,0 +1,7 @@
# Adopters
{{ range .Packages.Ranked }}
{{ avatar .Repository.Owner }} [{{ .Repository.Owner }} / **{{ .Repository.Name }}**]({{ .Repository.URL }})
{{- if .SubPackage }} / **{{ .SubPackage}}**{{ end }}
{{ .Metadata.Description }}
{{ end -}}

View File

@@ -20,6 +20,7 @@ For more about `avo`:
* Introductory talk ["Better `x86` Assembly Generation with Go"](https://www.youtube.com/watch?v=6Y5CZ7_tyA4) at [dotGo 2019](https://2019.dotgo.eu/) ([slides](https://speakerdeck.com/mmcloughlin/better-x86-assembly-generation-with-go))
* [Longer tutorial at Gophercon 2019](https://www.youtube.com/watch?v=WaD8sNqroAw) showing a highly-optimized dot product ([slides](https://speakerdeck.com/mmcloughlin/better-x86-assembly-generation-with-go-gophercon-2019))
* Watch [Filippo Valsorda](https://filippo.io/) live code the [rewrite of `filippo.io/edwards25519` assembly with `avo`](https://vimeo.com/679848853)
* Explore [projects using `avo`](doc/adopters.md)
* Discuss `avo` and general Go assembly topics in the [#assembly](https://gophers.slack.com/archives/C6WDZJ70S) channel of [Gophers Slack](https://invite.slack.golangbridge.org/)
_Note: APIs subject to change while `avo` is still in an experimental phase. You can use it to build [real things](examples) but we suggest you pin a version with your package manager of choice._
@@ -106,13 +107,15 @@ Popular projects using `avo`:
{{ range .Packages.Top 10 -}}
{{ if lt .Metadata.Stars 100 }}{{break}}{{ end -}}
<img src="https://github.com/{{ .Repository.Owner }}.png?size=24" width="24" height="24" hspace="4" valign="middle" /> [{{ .Repository.Owner }} / **{{ .Repository.Name }}**]({{ .Repository.URL }})
{{ avatar .Repository.Owner }} [{{ .Repository.Owner }} / **{{ .Repository.Name }}**]({{ .Repository.URL }})
{{- if .SubPackage }} / **{{ .SubPackage}}**{{ end }}
:star: {{ .Metadata.Stars }}
> {{ .Metadata.Description }}
{{ end -}}
See the [full list of projects using `avo`](doc/adopters.md).
## Contributing
Contributions to `avo` are welcome:

View File

@@ -5,6 +5,7 @@ go install ./internal/cmd/docgen
pkgs="tests/thirdparty/packages.json"
docgen -pkgs "${pkgs}" -type readme -output README.md
docgen -pkgs "${pkgs}" -type adopters -output doc/adopters.md
# Process simple file embeddings with embedmd.
find . -name '*.md' | xargs embedmd -w