Skip to content

Instantly share code, notes, and snippets.

@theStack
Created November 7, 2025 20:30
Show Gist options
  • Select an option

  • Save theStack/897d7b50b5b8a6f288ed2b817fcca9fc to your computer and use it in GitHub Desktop.

Select an option

Save theStack/897d7b50b5b8a6f288ed2b817fcca9fc to your computer and use it in GitHub Desktop.
Benchmark results for secp PR #1767 on my arm64 notebook (Lenovo Thinkpad T14s Gen 6, with a Qualcomm Snapdragon X Elite CPU)
$ cc --version | head -1
cc (Ubuntu 14.2.0-19ubuntu2) 14.2.0
$ lscpu | head -3
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
$ uname -a
Linux thestack-ThinkPad-T14s-Gen-6 6.17.0-8-qcom-x1e #8-Ubuntu SMP PREEMPT_DYNAMIC Sun Aug 31 21:03:54 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux
===== Baseline =====
Using pippenger_wnaf:
Benchmark , Min(us) , Avg(us) , Max(us)
ecmult_multi_79p_g , 8.42 , 8.42 , 8.42
ecmult_multi_95p_g , 8.06 , 8.06 , 8.06
ecmult_multi_111p_g , 7.80 , 7.80 , 7.80
ecmult_multi_127p_g , 7.61 , 7.61 , 7.61
ecmult_multi_159p_g , 7.29 , 7.29 , 7.29
ecmult_multi_191p_g , 6.99 , 6.99 , 6.99
ecmult_multi_223p_g , 6.77 , 6.77 , 6.77
ecmult_multi_255p_g , 6.74 , 6.74 , 6.74
ecmult_multi_319p_g , 6.35 , 6.35 , 6.35
ecmult_multi_383p_g , 6.09 , 6.09 , 6.09
ecmult_multi_447p_g , 5.90 , 5.90 , 5.90
ecmult_multi_511p_g , 5.76 , 5.76 , 5.76
ecmult_multi_639p_g , 5.56 , 5.56 , 5.56
ecmult_multi_767p_g , 5.43 , 5.43 , 5.43
ecmult_multi_895p_g , 5.33 , 5.33 , 5.33
ecmult_multi_1023p_g , 5.26 , 5.26 , 5.26
ecmult_multi_1279p_g , 5.18 , 5.18 , 5.18
ecmult_multi_1535p_g , 4.97 , 4.98 , 5.00
ecmult_multi_1791p_g , 4.83 , 4.83 , 4.83
ecmult_multi_2047p_g , 4.72 , 4.72 , 4.72
ecmult_multi_2559p_g , 4.57 , 4.57 , 4.57
ecmult_multi_3071p_g , 4.47 , 4.47 , 4.47
ecmult_multi_3583p_g , 4.40 , 4.40 , 4.40
ecmult_multi_4095p_g , 4.34 , 4.35 , 4.35
ecmult_multi_5119p_g , 4.26 , 4.26 , 4.26
ecmult_multi_6143p_g , 4.17 , 4.17 , 4.17
ecmult_multi_7167p_g , 4.10 , 4.10 , 4.10
ecmult_multi_8191p_g , 4.06 , 4.06 , 4.06
ecmult_multi_10239p_g , 3.94 , 3.94 , 3.94
ecmult_multi_12287p_g , 3.85 , 3.86 , 3.86
ecmult_multi_14335p_g , 3.80 , 3.80 , 3.80
ecmult_multi_16383p_g , 3.73 , 3.74 , 3.74
ecmult_multi_20479p_g , 3.62 , 3.62 , 3.63
ecmult_multi_24575p_g , 3.54 , 3.55 , 3.55
ecmult_multi_28671p_g , 3.49 , 3.49 , 3.50
ecmult_multi_32767p_g , 3.45 , 3.45 , 3.46
===== Variant 1 =====
Using pippenger_wnaf:
Benchmark , Min(us) , Avg(us) , Max(us)
ecmult_multi_79p_g , 8.39 , 8.39 , 8.40
ecmult_multi_95p_g , 8.03 , 8.03 , 8.04
ecmult_multi_111p_g , 7.76 , 7.77 , 7.77
ecmult_multi_127p_g , 7.57 , 7.57 , 7.58
ecmult_multi_159p_g , 7.23 , 7.24 , 7.24
ecmult_multi_191p_g , 6.94 , 6.94 , 6.95
ecmult_multi_223p_g , 6.73 , 6.73 , 6.73
ecmult_multi_255p_g , 6.64 , 6.64 , 6.65
ecmult_multi_319p_g , 6.27 , 6.27 , 6.28
ecmult_multi_383p_g , 6.02 , 6.02 , 6.02
ecmult_multi_447p_g , 5.83 , 5.84 , 5.84
ecmult_multi_511p_g , 5.70 , 5.70 , 5.71
ecmult_multi_639p_g , 5.50 , 5.51 , 5.51
ecmult_multi_767p_g , 5.37 , 5.38 , 5.38
ecmult_multi_895p_g , 5.28 , 5.28 , 5.29
ecmult_multi_1023p_g , 5.22 , 5.22 , 5.22
ecmult_multi_1279p_g , 5.10 , 5.10 , 5.10
ecmult_multi_1535p_g , 4.91 , 4.91 , 4.91
ecmult_multi_1791p_g , 4.77 , 4.77 , 4.77
ecmult_multi_2047p_g , 4.67 , 4.67 , 4.67
ecmult_multi_2559p_g , 4.52 , 4.52 , 4.52
ecmult_multi_3071p_g , 4.42 , 4.42 , 4.43
ecmult_multi_3583p_g , 4.35 , 4.35 , 4.36
ecmult_multi_4095p_g , 4.30 , 4.30 , 4.31
ecmult_multi_5119p_g , 4.21 , 4.21 , 4.21
ecmult_multi_6143p_g , 4.12 , 4.12 , 4.12
ecmult_multi_7167p_g , 4.06 , 4.06 , 4.06
ecmult_multi_8191p_g , 4.01 , 4.02 , 4.02
ecmult_multi_10239p_g , 3.89 , 3.90 , 3.90
ecmult_multi_12287p_g , 3.82 , 3.82 , 3.82
ecmult_multi_14335p_g , 3.76 , 3.76 , 3.76
ecmult_multi_16383p_g , 3.69 , 3.69 , 3.70
ecmult_multi_20479p_g , 3.58 , 3.59 , 3.59
ecmult_multi_24575p_g , 3.51 , 3.51 , 3.52
ecmult_multi_28671p_g , 3.46 , 3.46 , 3.47
ecmult_multi_32767p_g , 3.42 , 3.42 , 3.43
===== Variant 2 =====
Using pippenger_wnaf:
Benchmark , Min(us) , Avg(us) , Max(us)
ecmult_multi_79p_g , 8.42 , 8.42 , 8.43
ecmult_multi_95p_g , 8.06 , 8.06 , 8.07
ecmult_multi_111p_g , 7.80 , 7.80 , 7.81
ecmult_multi_127p_g , 7.61 , 7.61 , 7.62
ecmult_multi_159p_g , 7.25 , 7.26 , 7.26
ecmult_multi_191p_g , 6.96 , 6.96 , 6.97
ecmult_multi_223p_g , 6.75 , 6.75 , 6.76
ecmult_multi_255p_g , 6.65 , 6.65 , 6.66
ecmult_multi_319p_g , 6.28 , 6.28 , 6.29
ecmult_multi_383p_g , 6.03 , 6.03 , 6.04
ecmult_multi_447p_g , 5.85 , 5.85 , 5.86
ecmult_multi_511p_g , 5.71 , 5.71 , 5.72
ecmult_multi_639p_g , 5.52 , 5.53 , 5.53
ecmult_multi_767p_g , 5.40 , 5.40 , 5.41
ecmult_multi_895p_g , 5.31 , 5.31 , 5.32
ecmult_multi_1023p_g , 5.24 , 5.24 , 5.25
ecmult_multi_1279p_g , 5.10 , 5.11 , 5.11
ecmult_multi_1535p_g , 4.92 , 4.92 , 4.92
ecmult_multi_1791p_g , 4.78 , 4.78 , 4.79
ecmult_multi_2047p_g , 4.68 , 4.68 , 4.69
ecmult_multi_2559p_g , 4.54 , 4.54 , 4.54
ecmult_multi_3071p_g , 4.44 , 4.44 , 4.45
ecmult_multi_3583p_g , 4.37 , 4.37 , 4.37
ecmult_multi_4095p_g , 4.32 , 4.32 , 4.33
ecmult_multi_5119p_g , 4.23 , 4.23 , 4.23
ecmult_multi_6143p_g , 4.14 , 4.14 , 4.15
ecmult_multi_7167p_g , 4.08 , 4.08 , 4.09
ecmult_multi_8191p_g , 4.03 , 4.03 , 4.04
ecmult_multi_10239p_g , 3.91 , 3.91 , 3.92
ecmult_multi_12287p_g , 3.83 , 3.83 , 3.84
ecmult_multi_14335p_g , 3.78 , 3.78 , 3.78
ecmult_multi_16383p_g , 3.70 , 3.70 , 3.71
ecmult_multi_20479p_g , 3.60 , 3.60 , 3.61
ecmult_multi_24575p_g , 3.53 , 3.53 , 3.54
ecmult_multi_28671p_g , 3.48 , 3.48 , 3.49
ecmult_multi_32767p_g , 3.44 , 3.45 , 3.45
===== Variant 3 =====
Using pippenger_wnaf:
Benchmark , Min(us) , Avg(us) , Max(us)
ecmult_multi_79p_g , 8.50 , 8.50 , 8.51
ecmult_multi_95p_g , 8.15 , 8.15 , 8.15
ecmult_multi_111p_g , 7.89 , 7.90 , 7.90
ecmult_multi_127p_g , 7.70 , 7.70 , 7.71
ecmult_multi_159p_g , 7.36 , 7.37 , 7.37
ecmult_multi_191p_g , 7.08 , 7.08 , 7.08
ecmult_multi_223p_g , 6.87 , 6.87 , 6.87
ecmult_multi_255p_g , 6.73 , 6.73 , 6.73
ecmult_multi_319p_g , 6.37 , 6.37 , 6.38
ecmult_multi_383p_g , 6.13 , 6.13 , 6.13
ecmult_multi_447p_g , 5.95 , 5.95 , 5.95
ecmult_multi_511p_g , 5.81 , 5.82 , 5.82
ecmult_multi_639p_g , 5.63 , 5.63 , 5.63
ecmult_multi_767p_g , 5.50 , 5.50 , 5.51
ecmult_multi_895p_g , 5.41 , 5.41 , 5.41
ecmult_multi_1023p_g , 5.34 , 5.35 , 5.35
ecmult_multi_1279p_g , 5.18 , 5.18 , 5.18
ecmult_multi_1535p_g , 4.99 , 4.99 , 4.99
ecmult_multi_1791p_g , 4.86 , 4.86 , 4.86
ecmult_multi_2047p_g , 4.75 , 4.76 , 4.76
ecmult_multi_2559p_g , 4.61 , 4.61 , 4.62
ecmult_multi_3071p_g , 4.52 , 4.52 , 4.52
ecmult_multi_3583p_g , 4.45 , 4.45 , 4.45
ecmult_multi_4095p_g , 4.40 , 4.40 , 4.40
ecmult_multi_5119p_g , 4.29 , 4.30 , 4.30
ecmult_multi_6143p_g , 4.21 , 4.21 , 4.21
ecmult_multi_7167p_g , 4.14 , 4.15 , 4.15
ecmult_multi_8191p_g , 4.08 , 4.08 , 4.09
ecmult_multi_10239p_g , 3.97 , 3.97 , 3.97
ecmult_multi_12287p_g , 3.89 , 3.89 , 3.89
ecmult_multi_14335p_g , 3.83 , 3.84 , 3.84
ecmult_multi_16383p_g , 3.75 , 3.75 , 3.76
ecmult_multi_20479p_g , 3.64 , 3.65 , 3.65
ecmult_multi_24575p_g , 3.57 , 3.57 , 3.58
ecmult_multi_28671p_g , 3.53 , 3.53 , 3.53
ecmult_multi_32767p_g , 3.49 , 3.49 , 3.50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment