1
0
Fork 0
forgejo/modules
Gusted 15e81637ab
[GITEA] Drop sha256-simd in favor of stdlib
- In Go 1.21 the crypto/sha256 [got a massive
improvement](https://go.dev/doc/go1.21#crypto/sha256) by utilizing the
SHA instructions for AMD64 CPUs, which sha256-simd already was doing.
The performance is now on par and I think it's preferable to use the
standard library rather than a package when possible.

```
cpu: AMD Ryzen 5 3600X 6-Core Processor
                │  simd.txt   │               go.txt                │
                │   sec/op    │    sec/op     vs base               │
Hash/8Bytes-12    63.25n ± 1%    73.38n ± 1%  +16.02% (p=0.002 n=6)
Hash/64Bytes-12   98.73n ± 1%   105.30n ± 1%   +6.65% (p=0.002 n=6)
Hash/1K-12        567.2n ± 1%    572.8n ± 1%   +0.99% (p=0.002 n=6)
Hash/8K-12        4.062µ ± 1%    4.062µ ± 1%        ~ (p=0.396 n=6)
Hash/1M-12        512.1µ ± 0%    510.6µ ± 1%        ~ (p=0.485 n=6)
Hash/5M-12        2.556m ± 1%    2.564m ± 0%        ~ (p=0.093 n=6)
Hash/10M-12       5.112m ± 0%    5.127m ± 0%        ~ (p=0.093 n=6)
geomean           13.82µ         14.27µ        +3.28%

                │   simd.txt   │               go.txt                │
                │     B/s      │     B/s       vs base               │
Hash/8Bytes-12    120.6Mi ± 1%   104.0Mi ± 1%  -13.81% (p=0.002 n=6)
Hash/64Bytes-12   618.2Mi ± 1%   579.8Mi ± 1%   -6.22% (p=0.002 n=6)
Hash/1K-12        1.682Gi ± 1%   1.665Gi ± 1%   -0.98% (p=0.002 n=6)
Hash/8K-12        1.878Gi ± 1%   1.878Gi ± 1%        ~ (p=0.310 n=6)
Hash/1M-12        1.907Gi ± 0%   1.913Gi ± 1%        ~ (p=0.485 n=6)
Hash/5M-12        1.911Gi ± 1%   1.904Gi ± 0%        ~ (p=0.093 n=6)
Hash/10M-12       1.910Gi ± 0%   1.905Gi ± 0%        ~ (p=0.093 n=6)
geomean           1.066Gi        1.032Gi        -3.18%
```

(cherry picked from commit abd94ff5b5)
2023-10-02 19:28:45 +02:00
..
actions [CI] Search .forgejo/workflows first 2023-10-02 16:13:40 +02:00
activitypub make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
analyze
assetfs
auth [GITEA] Drop sha256-simd in favor of stdlib 2023-10-02 19:28:45 +02:00
avatar [GITEA] Drop sha256-simd in favor of stdlib 2023-10-02 19:28:45 +02:00
base [GITEA] Drop sha256-simd in favor of stdlib 2023-10-02 19:28:45 +02:00
cache
charset
container
context [GITEA] Drop sha256-simd in favor of stdlib 2023-10-02 19:28:45 +02:00
contexttest
csv
doctor doctor: delete action entries without existing user (#27292) 2023-09-28 03:03:08 +00:00
emoji
eventsource More db.DefaultContext refactor (#27265) 2023-09-29 12:12:54 +00:00
generate
git [GITEA] Drop sha256-simd in favor of stdlib 2023-10-02 19:28:45 +02:00
gitgraph More db.DefaultContext refactor (#27265) 2023-09-29 12:12:54 +00:00
graceful
hcaptcha
highlight
hostmatcher
html
httpcache
httplib
indexer [CI] disable meilisearch/elasticsearch test, no server yet in CI 2023-10-02 16:13:40 +02:00
issue/template
json
label
lfs [GITEA] Drop sha256-simd in favor of stdlib 2023-10-02 19:28:45 +02:00
log
markup [GITEA] Use restricted sanitizer for repository description 2023-10-02 19:23:42 +02:00
mcaptcha
metrics Reduce usage of db.DefaultContext (#27073) 2023-09-14 17:09:32 +00:00
migration
nosql
options
packages
paginator
pprof
private [CLI] implement forgejo-cli 2023-10-02 16:13:39 +02:00
process
proxy
proxyprotocol
public
queue [CI] disable redis test, no redis server yet in CI 2023-10-02 16:13:40 +02:00
recaptcha
references Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 2023-09-14 02:59:53 +00:00
regexplru
repository make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
secret [GITEA] Drop sha256-simd in favor of stdlib 2023-10-02 19:28:45 +02:00
session Next round of db.DefaultContext refactor (#27089) 2023-09-16 14:39:12 +00:00
setting [GITEA] notifies admins on new user registration (squash) cosmetic changes 2023-10-02 19:27:46 +02:00
sitemap
ssh restrict certificate type for builtin SSH server (#26789) 2023-09-01 13:45:22 +00:00
storage [CI] Forgejo Actions based CI for PR & branches 2023-10-02 16:13:40 +02:00
structs [FEAT] allow setting the update date on issues and comments 2023-10-02 17:06:23 +02:00
svg
sync
system make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
templates More db.DefaultContext refactor (#27265) 2023-09-29 12:12:54 +00:00
test
testlogger
timeutil
translation
turnstile
typesniffer
updatechecker
upload
uri
user
util [GITEA] Drop sha256-simd in favor of stdlib 2023-10-02 19:28:45 +02:00
validation [GITEA] add option for banning dots in usernames 2023-10-02 19:00:59 +02:00
web [GITEA] add option for banning dots in usernames 2023-10-02 19:00:59 +02:00
webhook