OpenPGP interoperability test suite

These are the results of running the benchmarks included in the OpenPGP interoperability test suite version 0.1.0 (82678eb) on 2022-06-21T16:44.

The time measurements don't include any interpreter startup overhead.

If you want to see your implementation included in these results, please implement the Stateless OpenPGP Command Line Interface and open an issue in our tracker. Note: The implementation doesn't have to be complete to be useful.

Test Results

Calibration data

Measures static overhead using a NOP

Calls every SOP with a NOP, currently an unknown subcommand.
1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • OpenPGP.js 5.2.1 OpenPGP.js 5.2.1
  • OpenPGP.js v4.10.10 OpenPGP.js v4.10.10
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
  • RNP-sop 0.2.0/RNP 0.16.0 RNP-sop 0.2.0/RNP 0.16.0
  • SOPGPy 0.2.0/0.5.4 SOPGPy 0.2.0/0.5.4
  • gpgme-sop 0.1.0/GnuPG 2.3.4-beta16 gpgme-sop 0.1.0/GnuPG 2.3.4-beta16
  • gpgme-sop 0.1.0/GnuPG 2.2.27 gpgme-sop 0.1.0/GnuPG 2.2.27
  • gpgme-sop 0.1.0/GnuPG 1.4.23 gpgme-sop 0.1.0/GnuPG 1.4.23
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.0666.714µs670.998µs706.946µs777.714µs791.893µs40.232µs
dkg-sop 1.2.032.328ms32.442ms32.584ms32.874ms33.007ms256.306µs
GopenPGP v2.1.11.604ms1.706ms1.729ms1.730ms1.758ms22.901µs
OpenPGP.js 5.2.195.772ms96.284ms97.501ms97.543ms99.202ms1.217ms
OpenPGP.js v4.10.10112.239ms114.019ms114.620ms116.393ms116.980ms1.774ms
PGPainless-SOP 1.3.0/Bouncy Castle 1.71148.720ms150.668ms167.079ms168.875ms168.922ms1.843ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70123.634ms133.896ms134.520ms151.431ms154.113ms10.886ms
RNP-sop 0.2.0/RNP 0.16.03.822ms3.846ms3.951ms4.004ms4.066ms104.232µs
SOPGPy 0.2.0/0.5.485.926ms85.948ms87.185ms87.819ms88.279ms1.094ms
gpgme-sop 0.1.0/GnuPG 2.3.4-beta16999.733µs1.039ms1.068ms1.137ms1.175ms68.329µs
gpgme-sop 0.1.0/GnuPG 2.2.27957.733µs997.420µs1.011ms1.055ms1.154ms43.358µs
gpgme-sop 0.1.0/GnuPG 1.4.231.091ms1.095ms1.119ms1.154ms1.311ms28.833µs

Decryption

Decryption of 1048576 plaintext bytes

Decryption of 1048576 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • OpenPGP.js 5.2.1 OpenPGP.js 5.2.1
  • OpenPGP.js v4.10.10 OpenPGP.js v4.10.10
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
  • RNP-sop 0.2.0/RNP 0.16.0 RNP-sop 0.2.0/RNP 0.16.0
  • SOPGPy 0.2.0/0.5.4 SOPGPy 0.2.0/0.5.4
  • gpgme-sop 0.1.0/GnuPG 2.3.4-beta16 gpgme-sop 0.1.0/GnuPG 2.3.4-beta16
  • gpgme-sop 0.1.0/GnuPG 2.2.27 gpgme-sop 0.1.0/GnuPG 2.2.27
  • gpgme-sop 0.1.0/GnuPG 1.4.23 gpgme-sop 0.1.0/GnuPG 1.4.23
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.011.807ms11.816ms11.842ms11.939ms12.082ms35.735µs
dkg-sop 1.2.093.737ms94.400ms95.079ms95.085ms95.559ms480.094µs
GopenPGP v2.1.110.084ms10.274ms10.361ms10.383ms10.447ms85.496µs
OpenPGP.js 5.2.160.077ms60.897ms63.225ms63.882ms64.675ms1.450ms
OpenPGP.js v4.10.1071.240ms72.342ms73.879ms75.635ms75.820ms1.756ms
PGPainless-SOP 1.3.0/Bouncy Castle 1.71300.291ms307.514ms324.234ms324.640ms332.831ms8.597ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70241.044ms248.019ms253.679ms261.371ms266.520ms7.692ms
RNP-sop 0.2.0/RNP 0.16.070.172ms70.215ms70.592ms71.060ms71.351ms419.811µs
SOPGPy 0.2.0/0.5.419.363ms19.680ms20.606ms21.826ms22.740ms1.220ms
gpgme-sop 0.1.0/GnuPG 2.3.4-beta1630.966ms30.974ms34.725ms34.863ms35.662ms937.105µs
gpgme-sop 0.1.0/GnuPG 2.2.2727.430ms27.742ms27.889ms28.196ms28.296ms307.552µs
gpgme-sop 0.1.0/GnuPG 1.4.2340.326ms40.402ms40.442ms42.854ms43.161ms115.532µs

Decryption of 2097152 plaintext bytes

Decryption of 2097152 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • OpenPGP.js 5.2.1 OpenPGP.js 5.2.1
  • OpenPGP.js v4.10.10 OpenPGP.js v4.10.10
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
  • RNP-sop 0.2.0/RNP 0.16.0 RNP-sop 0.2.0/RNP 0.16.0
  • SOPGPy 0.2.0/0.5.4 SOPGPy 0.2.0/0.5.4
  • gpgme-sop 0.1.0/GnuPG 2.3.4-beta16 gpgme-sop 0.1.0/GnuPG 2.3.4-beta16
  • gpgme-sop 0.1.0/GnuPG 2.2.27 gpgme-sop 0.1.0/GnuPG 2.2.27
  • gpgme-sop 0.1.0/GnuPG 1.4.23 gpgme-sop 0.1.0/GnuPG 1.4.23
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.015.635ms15.730ms15.807ms15.906ms16.142ms98.962µs
dkg-sop 1.2.0179.987ms180.237ms180.414ms180.491ms181.465ms177.459µs
GopenPGP v2.1.116.837ms16.884ms16.916ms17.415ms17.618ms78.620µs
OpenPGP.js 5.2.183.945ms87.151ms87.491ms88.657ms91.296ms1.166ms
OpenPGP.js v4.10.1099.209ms102.020ms102.855ms104.409ms105.051ms1.554ms
PGPainless-SOP 1.3.0/Bouncy Castle 1.71325.511ms341.198ms342.946ms346.616ms347.223ms3.670ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70282.397ms283.820ms283.823ms292.026ms299.632ms1.426ms
RNP-sop 0.2.0/RNP 0.16.074.770ms75.005ms75.566ms75.678ms75.973ms407.718µs
SOPGPy 0.2.0/0.5.423.201ms26.015ms26.712ms28.323ms30.596ms1.611ms
gpgme-sop 0.1.0/GnuPG 2.3.4-beta1636.301ms36.311ms38.764ms39.184ms39.288ms524.162µs
gpgme-sop 0.1.0/GnuPG 2.2.2731.818ms31.955ms32.157ms32.285ms35.697ms201.270µs
gpgme-sop 0.1.0/GnuPG 1.4.2353.325ms53.329ms53.436ms53.738ms54.422ms110.696µs

Armoring

Armoring of 1048576 plaintext bytes

Armoring of 1048576 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.06.799ms6.810ms6.941ms7.170ms7.344ms142.763µs
GopenPGP v2.1.19.696ms10.009ms10.109ms10.617ms10.777ms413.014µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.715.608ms14.445ms22.148ms25.808ms25.897ms3.749ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.7050.475ms51.900ms52.319ms69.729ms71.884ms1.844ms

Armoring of 2097152 plaintext bytes

Armoring of 2097152 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.014.129ms14.175ms14.301ms14.388ms14.475ms126.048µs
GopenPGP v2.1.119.142ms19.516ms19.578ms20.037ms20.101ms436.146µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.7133.442ms53.688ms54.777ms63.341ms65.060ms8.564ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70108.438ms113.227ms127.258ms128.478ms131.781ms4.523ms

Armoring of 4194304 plaintext bytes

Armoring of 4194304 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.026.845ms26.916ms26.970ms27.400ms28.449ms124.576µs
GopenPGP v2.1.137.245ms37.414ms37.779ms37.981ms37.984ms205.742µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.7192.557ms96.595ms113.316ms114.820ms115.876ms2.560ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70238.167ms241.504ms244.034ms245.743ms248.623ms2.529ms

Armoring of 8388608 plaintext bytes

Armoring of 8388608 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.053.647ms54.140ms54.234ms54.776ms55.673ms541.876µs
GopenPGP v2.1.170.257ms71.004ms71.494ms71.848ms72.187ms489.368µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.71217.391ms231.513ms232.460ms234.985ms237.604ms2.525ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70440.614ms452.156ms457.413ms458.556ms463.229ms5.256ms

Armoring of 16777216 plaintext bytes

Armoring of 16777216 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.0108.840ms109.758ms110.376ms111.478ms111.913ms1.102ms
GopenPGP v2.1.1137.073ms137.535ms139.714ms139.768ms139.981ms267.239µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.71448.163ms448.231ms448.514ms453.421ms473.643ms351.306µs
PGPainless-SOP 1.1.0/Bouncy Castle 1.70878.401ms882.831ms889.474ms892.181ms897.074ms6.644ms

Armoring of 33554432 plaintext bytes

Armoring of 33554432 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.0218.020ms219.083ms221.237ms221.270ms223.884ms2.154ms
GopenPGP v2.1.1270.247ms270.422ms270.620ms271.180ms273.791ms373.067µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.71892.953ms897.779ms932.613ms934.119ms953.293ms20.679ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.701.731s1.740s1.755s1.760s1.766s11.193ms

Dearmoring of 1048576 plaintext bytes

Dearmoring of 1048576 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
  • SOPGPy 0.2.0/0.5.4 SOPGPy 0.2.0/0.5.4
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.09.838ms9.870ms9.882ms9.961ms9.974ms44.135µs
dkg-sop 1.2.071.771ms72.284ms72.580ms73.133ms77.104ms552.566µs
GopenPGP v2.1.118.486ms18.628ms18.779ms18.850ms18.916ms137.336µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.7119.136ms35.191ms36.978ms38.970ms42.194ms1.992ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.7032.974ms48.006ms48.654ms55.697ms62.865ms7.043ms
SOPGPy 0.2.0/0.5.41.976s1.983s1.983s1.998s2.010s7.637ms

Dearmoring of 2097152 plaintext bytes

Dearmoring of 2097152 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
  • SOPGPy 0.2.0/0.5.4 SOPGPy 0.2.0/0.5.4
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.019.020ms19.049ms19.086ms19.102ms19.160ms37.139µs
dkg-sop 1.2.0144.433ms147.999ms148.409ms148.695ms148.721ms312.427µs
GopenPGP v2.1.137.141ms37.196ms37.220ms37.322ms37.458ms79.719µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.7166.390ms69.526ms73.105ms74.915ms79.081ms3.579ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.7063.715ms63.922ms81.376ms87.811ms88.753ms7.376ms
SOPGPy 0.2.0/0.5.43.963s3.991s4.003s4.011s4.032s12.102ms

Dearmoring of 4194304 plaintext bytes

Dearmoring of 4194304 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.037.849ms38.085ms38.135ms38.374ms38.875ms238.957µs
dkg-sop 1.2.0289.130ms289.357ms289.369ms298.180ms299.860ms239.363µs
GopenPGP v2.1.172.509ms73.290ms73.304ms73.540ms74.398ms235.903µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.71118.587ms140.743ms144.040ms144.465ms146.925ms2.884ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70134.596ms139.021ms152.921ms156.797ms158.591ms5.671ms

Dearmoring of 8388608 plaintext bytes

Dearmoring of 8388608 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.075.541ms75.679ms75.795ms75.951ms76.324ms156.519µs
dkg-sop 1.2.0575.812ms578.109ms581.719ms585.792ms607.231ms4.073ms
GopenPGP v2.1.1142.205ms142.417ms145.230ms145.672ms146.605ms1.374ms
PGPainless-SOP 1.3.0/Bouncy Castle 1.71269.517ms270.467ms273.192ms274.614ms275.039ms1.847ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70267.031ms269.916ms288.516ms291.517ms293.342ms4.826ms

Dearmoring of 16777216 plaintext bytes

Dearmoring of 16777216 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.0150.722ms150.970ms151.147ms151.353ms152.200ms205.541µs
dkg-sop 1.2.01.147s1.151s1.153s1.155s1.172s2.106ms
GopenPGP v2.1.1283.880ms285.602ms286.026ms286.027ms291.918ms423.738µs
PGPainless-SOP 1.3.0/Bouncy Castle 1.71508.425ms516.984ms526.016ms530.568ms538.733ms9.032ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.70537.918ms550.576ms553.828ms555.885ms562.059ms3.252ms

Dearmoring of 33554432 plaintext bytes

Dearmoring of 33554432 plaintext bytes, doh!

Additional artifacts:

1 .75 .5 .25 1000 100 10 1 0
  • sqop 0.27.0/Sequoia 1.9.0 sqop 0.27.0/Sequoia 1.9.0
  • dkg-sop 1.2.0 dkg-sop 1.2.0
  • GopenPGP v2.1.1 GopenPGP v2.1.1
  • PGPainless-SOP 1.3.0/Bouncy Castle 1.71 PGPainless-SOP 1.3.0/Bouncy Castle 1.71
  • PGPainless-SOP 1.1.0/Bouncy Castle 1.70 PGPainless-SOP 1.1.0/Bouncy Castle 1.70
Implementation Runtime Measurements MAD
sqop 0.27.0/Sequoia 1.9.0301.752ms302.315ms302.458ms302.598ms303.387ms142.933µs
dkg-sop 1.2.02.288s2.289s2.291s2.296s2.320s2.949ms
GopenPGP v2.1.1564.053ms566.408ms567.642ms567.969ms570.619ms1.234ms
PGPainless-SOP 1.3.0/Bouncy Castle 1.711.044s1.044s1.055s1.056s1.057s1.609ms
PGPainless-SOP 1.1.0/Bouncy Castle 1.701.070s1.075s1.076s1.080s1.082s3.811ms