forked from forks/go-ethereum
Updates the libsecp256k1 dependency to commit: c0d9480fbbf8eccbd4be23ed27f6f2af6f3b211e PR: ``` BenchmarkSign-24 57756 21214 ns/op 164 B/op 3 allocs/op BenchmarkRecover-24 37156 33044 ns/op 80 B/op 1 allocs/op BenchmarkEcrecoverSignature-24 36889 32935 ns/op 80 B/op 1 allocs/op BenchmarkVerifySignature-24 41163 29207 ns/op 0 B/op 0 allocs/op BenchmarkDecompressPubkey-24 318624 4062 ns/op 304 B/op 6 allocs/op ``` Master: ``` BenchmarkSign-24 34509 35330 ns/op 164 B/op 3 allocs/op BenchmarkRecover-24 25418 47725 ns/op 80 B/op 1 allocs/op BenchmarkEcrecoverSignature-24 25735 47591 ns/op 80 B/op 1 allocs/op BenchmarkVerifySignature-24 29108 41097 ns/op 0 B/op 0 allocs/op BenchmarkDecompressPubkey-24 294747 4143 ns/op 304 B/op 6 allocs/op ``` Performance seems to be improved significantly: ``` Sign-24 34.86µ ± 3% 21.66µ ± 2% -37.86% (p=0.000 n=10) Recover-24 46.14µ ± 3% 33.24µ ± 2% -27.95% (p=0.000 n=10) ```
101 lines
2.5 KiB
YAML
101 lines
2.5 KiB
YAML
env:
|
|
### cirrus config
|
|
CIRRUS_CLONE_DEPTH: 1
|
|
### compiler options
|
|
HOST:
|
|
WRAPPER_CMD:
|
|
# Specific warnings can be disabled with -Wno-error=foo.
|
|
# -pedantic-errors is not equivalent to -Werror=pedantic and thus not implied by -Werror according to the GCC manual.
|
|
WERROR_CFLAGS: -Werror -pedantic-errors
|
|
MAKEFLAGS: -j4
|
|
BUILD: check
|
|
### secp256k1 config
|
|
ECMULTWINDOW: 15
|
|
ECMULTGENKB: 22
|
|
ASM: no
|
|
WIDEMUL: auto
|
|
WITH_VALGRIND: yes
|
|
EXTRAFLAGS:
|
|
### secp256k1 modules
|
|
EXPERIMENTAL: no
|
|
ECDH: no
|
|
RECOVERY: no
|
|
EXTRAKEYS: no
|
|
SCHNORRSIG: no
|
|
MUSIG: no
|
|
ELLSWIFT: no
|
|
### test options
|
|
SECP256K1_TEST_ITERS: 64
|
|
BENCH: yes
|
|
SECP256K1_BENCH_ITERS: 2
|
|
CTIMETESTS: yes
|
|
# Compile and run the tests
|
|
EXAMPLES: yes
|
|
|
|
cat_logs_snippet: &CAT_LOGS
|
|
always:
|
|
cat_tests_log_script:
|
|
- cat tests.log || true
|
|
cat_noverify_tests_log_script:
|
|
- cat noverify_tests.log || true
|
|
cat_exhaustive_tests_log_script:
|
|
- cat exhaustive_tests.log || true
|
|
cat_ctime_tests_log_script:
|
|
- cat ctime_tests.log || true
|
|
cat_bench_log_script:
|
|
- cat bench.log || true
|
|
cat_config_log_script:
|
|
- cat config.log || true
|
|
cat_test_env_script:
|
|
- cat test_env.log || true
|
|
cat_ci_env_script:
|
|
- env
|
|
|
|
linux_arm64_container_snippet: &LINUX_ARM64_CONTAINER
|
|
env_script:
|
|
- env | tee /tmp/env
|
|
build_script:
|
|
- DOCKER_BUILDKIT=1 docker build --file "ci/linux-debian.Dockerfile" --tag="ci_secp256k1_arm"
|
|
- docker image prune --force # Cleanup stale layers
|
|
test_script:
|
|
- docker run --rm --mount "type=bind,src=./,dst=/ci_secp256k1" --env-file /tmp/env --replace --name "ci_secp256k1_arm" "ci_secp256k1_arm" bash -c "cd /ci_secp256k1/ && ./ci/ci.sh"
|
|
|
|
task:
|
|
name: "ARM64: Linux (Debian stable)"
|
|
persistent_worker:
|
|
labels:
|
|
type: arm64
|
|
env:
|
|
ECDH: yes
|
|
RECOVERY: yes
|
|
EXTRAKEYS: yes
|
|
SCHNORRSIG: yes
|
|
MUSIG: yes
|
|
ELLSWIFT: yes
|
|
matrix:
|
|
# Currently only gcc-snapshot, the other compilers are tested on GHA with QEMU
|
|
- env: { CC: 'gcc-snapshot' }
|
|
<< : *LINUX_ARM64_CONTAINER
|
|
<< : *CAT_LOGS
|
|
|
|
task:
|
|
name: "ARM64: Linux (Debian stable), Valgrind"
|
|
persistent_worker:
|
|
labels:
|
|
type: arm64
|
|
env:
|
|
ECDH: yes
|
|
RECOVERY: yes
|
|
EXTRAKEYS: yes
|
|
SCHNORRSIG: yes
|
|
MUSIG: yes
|
|
ELLSWIFT: yes
|
|
WRAPPER_CMD: 'valgrind --error-exitcode=42'
|
|
SECP256K1_TEST_ITERS: 2
|
|
matrix:
|
|
- env: { CC: 'gcc' }
|
|
- env: { CC: 'clang' }
|
|
- env: { CC: 'gcc-snapshot' }
|
|
- env: { CC: 'clang-snapshot' }
|
|
<< : *LINUX_ARM64_CONTAINER
|
|
<< : *CAT_LOGS
|