Benchmarks#

Encoding#

libffrs v0.1-11-g5bf2eb3

ffrs.RS256.encode_blocks()#

ecc_len

block size

gcc10.2.1 20210110

Debian Clang 11.0.1

MSVC1929

Clang-cl 12.0.0

2

253

2507.33 MB/s

1862.26 MB/s

1866.89 MB/s

1326.95 MB/s

4

251

2510.39 MB/s

1999.74 MB/s

1780.37 MB/s

1313.68 MB/s

6

249

2573.94 MB/s

1859.76 MB/s

1734.71 MB/s

1230.39 MB/s

8

247

2564.95 MB/s

1893.20 MB/s

2043.61 MB/s

1119.43 MB/s

10

245

1340.47 MB/s

1330.87 MB/s

174.17 MB/s

362.35 MB/s

12

243

1260.13 MB/s

1225.72 MB/s

141.41 MB/s

277.63 MB/s

14

243

1179.90 MB/s

1209.35 MB/s

124.20 MB/s

200.14 MB/s

16

239

975.44 MB/s

1028.29 MB/s

124.93 MB/s

160.31 MB/s

24

231

658.16 MB/s

292.25 MB/s

85.65 MB/s

193.91 MB/s

32

223

435.78 MB/s

415.86 MB/s

56.53 MB/s

226.00 MB/s

64

191

203.47 MB/s

171.95 MB/s

27.51 MB/s

97.28 MB/s

128

127

80.93 MB/s

70.41 MB/s

14.90 MB/s

30.41 MB/s

Decoding#

TBD

Methodology#

The encoding speeds were measured by repeatedly encoding 100 MB buffers over a period of 5 seconds. A minimum of 5 measurements taken, then the maximum encoding speed is used.

See tests/benchmark.py.

System specs#

Processor: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz

gcc/Clang results were measured on WSL2 Linux VM
MSVC/Clang-cl results were measured on Windows 11