doc: Adopters page (#254)
Adds page with full list of `avo` adopters. Linked to from README. Updates #101
This commit is contained in:
committed by
GitHub
parent
57ea8119b7
commit
1cbd35f134
@@ -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))
|
* 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))
|
* [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)
|
* 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/)
|
* 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._
|
_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
|
: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.
|
> 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
|
## Contributing
|
||||||
|
|
||||||
Contributions to `avo` are welcome:
|
Contributions to `avo` are welcome:
|
||||||
|
|||||||
89
doc/adopters.md
Normal file
89
doc/adopters.md
Normal 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
|
||||||
@@ -42,6 +42,7 @@ func mainerr() (err error) {
|
|||||||
t.Funcs(template.FuncMap{
|
t.Funcs(template.FuncMap{
|
||||||
"include": include,
|
"include": include,
|
||||||
"snippet": snippet,
|
"snippet": snippet,
|
||||||
|
"avatar": avatar,
|
||||||
})
|
})
|
||||||
|
|
||||||
// Load template.
|
// Load template.
|
||||||
@@ -163,3 +164,9 @@ func snippet(filename, start, end string) (string, error) {
|
|||||||
|
|
||||||
return buf.String(), nil
|
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
|
||||||
|
}
|
||||||
|
|||||||
7
internal/cmd/docgen/templates/adopters.tmpl
Normal file
7
internal/cmd/docgen/templates/adopters.tmpl
Normal 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 -}}
|
||||||
@@ -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))
|
* 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))
|
* [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)
|
* 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/)
|
* 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._
|
_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 -}}
|
{{ range .Packages.Top 10 -}}
|
||||||
{{ if lt .Metadata.Stars 100 }}{{break}}{{ end -}}
|
{{ 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 }}
|
{{- if .SubPackage }} / **{{ .SubPackage}}**{{ end }}
|
||||||
:star: {{ .Metadata.Stars }}
|
:star: {{ .Metadata.Stars }}
|
||||||
> {{ .Metadata.Description }}
|
> {{ .Metadata.Description }}
|
||||||
|
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
|
See the [full list of projects using `avo`](doc/adopters.md).
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Contributions to `avo` are welcome:
|
Contributions to `avo` are welcome:
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ go install ./internal/cmd/docgen
|
|||||||
|
|
||||||
pkgs="tests/thirdparty/packages.json"
|
pkgs="tests/thirdparty/packages.json"
|
||||||
docgen -pkgs "${pkgs}" -type readme -output README.md
|
docgen -pkgs "${pkgs}" -type readme -output README.md
|
||||||
|
docgen -pkgs "${pkgs}" -type adopters -output doc/adopters.md
|
||||||
|
|
||||||
# Process simple file embeddings with embedmd.
|
# Process simple file embeddings with embedmd.
|
||||||
find . -name '*.md' | xargs embedmd -w
|
find . -name '*.md' | xargs embedmd -w
|
||||||
|
|||||||
Reference in New Issue
Block a user