From fdd13c2e1e30e73bb97f793a61da42fa9651e175 Mon Sep 17 00:00:00 2001 From: Benchmarks Bot Date: Tue, 24 Sep 2024 10:14:18 +0200 Subject: [PATCH] [Bot Automation Submit] --- burntpix/20240923.html | 339 ++ burntpix/20240923.json | 62 + burntpix/20240923.metadata.json | 23 + gas/20240923.html | 7619 +++++++++++++++++++++++++++ gas/20240923.json | 2862 ++++++++++ gas/20240923.metadata.json | 23 + genesis-data/20240923.json | 190 + genesis-data/20240923.memory.html | 441 ++ genesis-data/20240923.memory.json | 94 + genesis-data/20240923.metadata.json | 23 + genesis-data/20240923.speed.html | 441 ++ genesis-data/20240923.speed.json | 94 + 12 files changed, 12211 insertions(+) create mode 100644 burntpix/20240923.html create mode 100644 burntpix/20240923.json create mode 100644 burntpix/20240923.metadata.json create mode 100644 gas/20240923.html create mode 100644 gas/20240923.json create mode 100644 gas/20240923.metadata.json create mode 100644 genesis-data/20240923.json create mode 100644 genesis-data/20240923.memory.html create mode 100644 genesis-data/20240923.memory.json create mode 100644 genesis-data/20240923.metadata.json create mode 100644 genesis-data/20240923.speed.html create mode 100644 genesis-data/20240923.speed.json diff --git a/burntpix/20240923.html b/burntpix/20240923.html new file mode 100644 index 0000000..072d5ac --- /dev/null +++ b/burntpix/20240923.html @@ -0,0 +1,339 @@ + + + + + + + Benchmarking Report + + + + +

+ Computer Specs +

+
Computer Specs:
+Processor: x86_64
+System: Linux
+Release: 5.15.0-100-generic
+Version: #110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024
+Machine: x86_64
+Processor Architecture: 64bit
+RAM: 60.55 GB
+CPU: AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics
+Numbers of CPU: 16
+CPU GHz: 2124.714375 MHz
+
+
+

+ Nethermind - nethermind/nethermind:1.28.0 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 40033.72 + + 463.29 + + 285.31 + + 11011.36 + + 277.06 + + 72 + + Burnt Pix By Geth Developer +
+

+ Geth - ethereum/client-go:v1.14.9-amd64 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 7539.23 + + 290.24 + + 274.93 + + 2234.47 + + 272.44 + + 72 + + Burnt Pix By Geth Developer +
+

+ Reth - ghcr.io/paradigmxyz/reth:v1.0.7 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 131533.56 + + 1381.46 + + 1190.28 + + 36377.87 + + 1183.29 + + 72 + + Burnt Pix By Geth Developer +
+

+ Erigon - thorax/erigon:2.60.8 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 2157.01 + + 281.88 + + 261.87 + + 771.18 + + 258.62 + + 72 + + Burnt Pix By Geth Developer +
+

+ Besu - hyperledger/besu:24.9.1 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 25896.99 + + 99.62 + + 86.59 + + 7054.77 + + 85.73 + + 72 + + Burnt Pix By Geth Developer +
+ + + diff --git a/burntpix/20240923.json b/burntpix/20240923.json new file mode 100644 index 0000000..d2b16ad --- /dev/null +++ b/burntpix/20240923.json @@ -0,0 +1,62 @@ +{ + "nethermind": { + "Burnt": { + "title": "Burnt Pix", + "max": "40033.72", + "p50": "463.29", + "p95": "285.31", + "p99": "11011.36", + "min": "277.06", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "geth": { + "Burnt": { + "title": "Burnt Pix", + "max": "7539.23", + "p50": "290.24", + "p95": "274.93", + "p99": "2234.47", + "min": "272.44", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "reth": { + "Burnt": { + "title": "Burnt Pix", + "max": "131533.56", + "p50": "1381.46", + "p95": "1190.28", + "p99": "36377.87", + "min": "1183.29", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "erigon": { + "Burnt": { + "title": "Burnt Pix", + "max": "2157.01", + "p50": "281.88", + "p95": "261.87", + "p99": "771.18", + "min": "258.62", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "besu": { + "Burnt": { + "title": "Burnt Pix", + "max": "25896.99", + "p50": "99.62", + "p95": "86.59", + "p99": "7054.77", + "min": "85.73", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + } +} \ No newline at end of file diff --git a/burntpix/20240923.metadata.json b/burntpix/20240923.metadata.json new file mode 100644 index 0000000..181852c --- /dev/null +++ b/burntpix/20240923.metadata.json @@ -0,0 +1,23 @@ +{ + "computer_specs": { + "Processor": "x86_64", + "System": "Linux", + "Release": "5.15.0-100-generic", + "Version": "#110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024", + "Machine": "x86_64", + "Processor Architecture": "64bit", + "RAM": "60.55 GB", + "CPU": "AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics", + "Numbers of CPU": "16", + "CPU GHz": "2124.714375 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.28.0", + "geth": "ethereum/client-go:v1.14.9-amd64", + "reth": "ghcr.io/paradigmxyz/reth:v1.0.7", + "erigon": "thorax/erigon:2.60.8", + "besu": "hyperledger/besu:24.9.1" + } + } +} \ No newline at end of file diff --git a/gas/20240923.html b/gas/20240923.html new file mode 100644 index 0000000..0e8f243 --- /dev/null +++ b/gas/20240923.html @@ -0,0 +1,7619 @@ + + + + + + + Benchmarking Report + + + + +

+ Computer Specs +

+
Computer Specs:
+Processor: x86_64
+System: Linux
+Release: 5.15.0-100-generic
+Version: #110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024
+Machine: x86_64
+Processor Architecture: 64bit
+RAM: 60.55 GB
+CPU: AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics
+Numbers of CPU: 16
+CPU GHz: 2383.6670625 MHz
+
+
+

+ Nethermind - nethermind/nethermind:1.28.0 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 169.82 + + 168.05 + + 159.65 + + 155.00 + + 154.81 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 170.38 + + 168.49 + + 167.08 + + 165.42 + + 165.33 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 170.25 + + 168.17 + + 164.10 + + 162.44 + + 162.37 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 758.14 + + 745.98 + + 509.43 + + 454.56 + + 427.91 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 403.70 + + 395.57 + + 384.66 + + 366.89 + + 363.97 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 439.42 + + 430.26 + + 417.42 + + 402.90 + + 400.66 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 324.18 + + 317.77 + + 308.80 + + 297.70 + + 296.23 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 187.27 + + 184.69 + + 180.74 + + 175.01 + + 174.57 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 266.08 + + 258.86 + + 243.07 + + 234.51 + + 233.84 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 257.33 + + 254.44 + + 249.77 + + 243.69 + + 242.79 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 259.90 + + 257.20 + + 253.38 + + 242.58 + + 241.37 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 190.17 + + 187.89 + + 182.35 + + 173.87 + + 173.23 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 320.30 + + 315.53 + + 303.77 + + 300.18 + + 300.11 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 309.03 + + 301.55 + + 293.11 + + 290.13 + + 290.03 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 7737.45 + + 5463.91 + + 2568.82 + + 2084.15 + + 2048.61 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 2450.39 + + 2114.74 + + 953.07 + + 1399.08 + + 832.98 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 290.29 + + 244.38 + + 226.49 + + 214.30 + + 196.48 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 8368.73 + + 4140.46 + + 1093.83 + + 4207.45 + + 1068.24 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 8136.80 + + 4545.17 + + 1651.26 + + 4385.71 + + 1555.93 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1817.91 + + 1660.40 + + 557.72 + + 183.20 + + 170.33 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 20414.10 + + 5040.60 + + 791.71 + + 751.44 + + 750.08 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 1306.38 + + 1192.35 + + 487.33 + + 447.18 + + 437.19 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 2136.64 + + 1982.64 + + 1218.44 + + 933.84 + + 860.92 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 2138.09 + + 2007.95 + + 1285.58 + + 276.91 + + 196.11 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 6337.12 + + 5558.42 + + 777.96 + + 632.36 + + 565.36 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 297.13 + + 258.80 + + 145.36 + + 143.78 + + 143.74 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 492.37 + + 453.13 + + 387.60 + + 61.06 + + 48.92 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 347.95 + + 301.46 + + 58.29 + + 56.03 + + 55.94 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 417.96 + + 386.16 + + 156.52 + + 84.42 + + 83.98 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 37243.48 + + 8087.65 + + 2578.37 + + 154.79 + + 137.17 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 368.94 + + 353.32 + + 295.52 + + 148.85 + + 111.36 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 353.16 + + 341.21 + + 285.53 + + 279.12 + + 279.00 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 355.08 + + 342.31 + + 286.88 + + 276.99 + + 276.47 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 355.88 + + 336.83 + + 286.14 + + 158.42 + + 125.73 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 14724.97 + + 7398.01 + + 2457.40 + + 1078.20 + + 547.95 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 15110.36 + + 7842.42 + + 2613.37 + + 1117.78 + + 424.78 + + 152 + + EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2 +
+ EcMul with 32-byte coordinates and 32-byte scalar + + 14695.78 + + 6935.94 + + 2374.01 + + 1053.82 + + 648.92 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 15242.36 + + 6740.79 + + 2647.93 + + 860.49 + + 81.90 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 14067.46 + + 6462.77 + + 2332.09 + + 634.44 + + 231.59 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 15038.46 + + 7171.54 + + 2608.66 + + 1596.68 + + 1565.48 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 256.88 + + 253.14 + + 242.70 + + 226.23 + + 223.89 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 538.96 + + 530.00 + + 502.63 + + 461.98 + + 455.43 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 1188.84 + + 1133.87 + + 378.49 + + 363.04 + + 362.42 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 20867.26 + + 9152.97 + + 2587.51 + + 1382.11 + + 1011.04 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 1093.17 + + 1046.60 + + 345.66 + + 232.45 + + 124.46 + + 152 + + SStore - repeating storing the same 32-byte word in single storage key of single account +
+ SStore - one storage key, repeating two values, zero and non-zero + + 49594.17 + + 9285.38 + + 2584.07 + + 1726.59 + + 1712.71 + + 152 + + SStore - repeating storing zero and then storing 32-byte word in single storage key of single account +
+ SStore - many accounts, random storage keys, random values + + 17352.54 + + 6971.98 + + 2659.10 + + 1805.49 + + 1645.40 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 524.83 + + 496.44 + + 441.09 + + 378.06 + + 372.61 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 518.00 + + 510.19 + + 462.49 + + 425.46 + + 414.79 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 205.26 + + 203.30 + + 195.52 + + 186.40 + + 183.11 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 436.97 + + 427.29 + + 418.28 + + 342.36 + + 325.00 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 205.38 + + 201.56 + + 195.20 + + 194.02 + + 194.02 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 329.09 + + 322.25 + + 314.46 + + 295.62 + + 283.67 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 272.88 + + 267.12 + + 239.41 + + 174.30 + + 157.35 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 516.94 + + 504.21 + + 467.52 + + 393.69 + + 358.37 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 1450.17 + + 1148.25 + + 834.20 + + 732.76 + + 715.56 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 317.82 + + 313.88 + + 296.75 + + 292.12 + + 291.82 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Geth - ethereum/client-go:v1.14.9-amd64 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 87.61 + + 84.20 + + 77.41 + + 74.26 + + 74.22 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 80.17 + + 77.67 + + 70.67 + + 57.81 + + 54.95 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 82.19 + + 78.67 + + 72.94 + + 67.36 + + 66.34 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 227.94 + + 211.43 + + 172.70 + + 162.23 + + 160.46 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 174.02 + + 160.69 + + 134.93 + + 117.51 + + 114.81 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 180.15 + + 167.70 + + 145.36 + + 124.38 + + 119.06 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 170.46 + + 159.32 + + 132.90 + + 120.76 + + 118.93 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 168.31 + + 157.03 + + 134.77 + + 130.20 + + 130.05 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 192.80 + + 178.56 + + 148.74 + + 135.44 + + 131.04 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 176.00 + + 160.44 + + 136.89 + + 125.07 + + 124.77 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 191.88 + + 178.04 + + 148.87 + + 136.00 + + 135.05 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 143.38 + + 134.88 + + 118.39 + + 110.69 + + 110.00 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 216.49 + + 199.61 + + 172.82 + + 159.86 + + 159.58 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 173.19 + + 162.01 + + 141.47 + + 91.73 + + 84.75 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 68.05 + + 64.75 + + 59.83 + + 57.82 + + 57.69 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 137.34 + + 128.17 + + 114.65 + + 121.08 + + 112.32 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 384.37 + + 300.99 + + 236.23 + + 228.22 + + 191.59 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 176.29 + + 141.86 + + 133.38 + + 151.49 + + 132.78 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 128.36 + + 121.59 + + 111.29 + + 112.04 + + 99.73 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1150.70 + + 875.40 + + 507.91 + + 432.85 + + 429.01 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1027.42 + + 795.56 + + 463.97 + + 397.48 + + 388.83 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 1332.25 + + 1031.18 + + 585.02 + + 430.18 + + 427.71 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 1271.14 + + 923.47 + + 479.93 + + 409.85 + + 408.68 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 1257.73 + + 881.63 + + 569.19 + + 462.73 + + 462.13 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1073.70 + + 840.26 + + 507.18 + + 402.54 + + 397.63 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 636.40 + + 506.05 + + 356.16 + + 307.19 + + 301.61 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 635.48 + + 512.15 + + 377.48 + + 329.89 + + 326.97 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 642.01 + + 511.70 + + 366.93 + + 324.87 + + 323.77 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 666.78 + + 538.33 + + 355.87 + + 298.42 + + 291.15 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 290.30 + + 263.35 + + 211.17 + + 189.57 + + 189.20 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 546.29 + + 434.95 + + 306.05 + + 272.28 + + 270.63 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 545.80 + + 440.53 + + 313.59 + + 268.70 + + 267.67 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 571.37 + + 445.22 + + 340.95 + + 299.76 + + 299.15 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 560.90 + + 450.68 + + 315.54 + + 283.05 + + 279.05 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 106.73 + + 101.93 + + 91.72 + + 84.53 + + 82.83 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 106.32 + + 101.90 + + 91.01 + + 85.70 + + 84.36 + + 152 + + EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2 +
+ EcMul with 32-byte coordinates and 32-byte scalar + + 98.79 + + 94.55 + + 85.80 + + 80.13 + + 78.93 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 252.87 + + 230.54 + + 184.88 + + 169.07 + + 164.40 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 98.69 + + 94.35 + + 85.32 + + 79.40 + + 77.88 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 244.43 + + 225.35 + + 185.23 + + 170.48 + + 170.34 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 195.12 + + 177.81 + + 155.91 + + 143.41 + + 142.87 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 199.86 + + 184.62 + + 156.46 + + 87.88 + + 87.54 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 354.71 + + 308.62 + + 254.22 + + 204.98 + + 204.94 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 4649.16 + + 1966.23 + + 887.69 + + 661.73 + + 649.89 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 344.19 + + 306.81 + + 251.40 + + 221.18 + + 220.14 + + 152 + + SStore - repeating storing the same 32-byte word in single storage key of single account +
+ SStore - one storage key, repeating two values, zero and non-zero + + 12661.52 + + 3284.30 + + 1169.19 + + 744.87 + + 611.13 + + 152 + + SStore - repeating storing zero and then storing 32-byte word in single storage key of single account +
+ SStore - many accounts, random storage keys, random values + + 3073.21 + + 1767.84 + + 733.42 + + 607.93 + + 591.56 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 158.11 + + 145.13 + + 128.50 + + 115.41 + + 114.83 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 237.78 + + 169.36 + + 137.83 + + 116.94 + + 115.10 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 91.44 + + 87.54 + + 78.71 + + 64.60 + + 61.44 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 226.41 + + 208.39 + + 177.35 + + 104.49 + + 83.75 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 168.78 + + 160.55 + + 131.68 + + 107.91 + + 105.60 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 198.72 + + 182.97 + + 150.61 + + 130.28 + + 129.67 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 194.99 + + 179.39 + + 156.43 + + 146.26 + + 146.04 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 197.44 + + 182.65 + + 155.02 + + 146.21 + + 145.49 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 1143.20 + + 890.32 + + 547.95 + + 508.08 + + 507.09 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 170.74 + + 158.80 + + 121.93 + + 111.86 + + 111.04 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Reth - ghcr.io/paradigmxyz/reth:v1.0.7 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 191.29 + + 186.37 + + 167.08 + + 164.67 + + 164.50 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 190.43 + + 184.30 + + 164.77 + + 157.52 + + 157.47 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 194.92 + + 190.05 + + 178.18 + + 165.23 + + 163.52 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 1188.89 + + 1073.85 + + 699.96 + + 577.84 + + 554.74 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 700.91 + + 616.95 + + 468.13 + + 402.30 + + 400.58 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 808.19 + + 724.18 + + 506.77 + + 287.86 + + 221.99 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 720.83 + + 640.38 + + 508.13 + + 449.79 + + 447.38 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 732.02 + + 668.64 + + 497.37 + + 415.05 + + 414.22 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 891.09 + + 779.02 + + 576.93 + + 517.27 + + 517.07 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 862.29 + + 755.23 + + 527.46 + + 457.65 + + 453.74 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 830.50 + + 723.72 + + 499.31 + + 434.91 + + 434.48 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 819.87 + + 733.85 + + 548.74 + + 437.33 + + 433.32 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 883.29 + + 772.31 + + 513.80 + + 457.76 + + 456.45 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 830.78 + + 735.55 + + 531.26 + + 445.97 + + 438.90 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 64.40 + + 62.42 + + 60.34 + + 58.74 + + 58.72 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 97.60 + + 94.92 + + 89.03 + + 91.37 + + 88.02 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 492.26 + + 434.57 + + 357.60 + + 357.45 + + 325.83 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 132.08 + + 103.18 + + 97.55 + + 111.09 + + 95.25 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 91.44 + + 87.62 + + 84.57 + + 86.97 + + 83.59 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1797.67 + + 1535.63 + + 757.83 + + 604.50 + + 603.99 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1638.52 + + 1399.22 + + 838.68 + + 671.52 + + 633.04 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 2248.07 + + 1636.56 + + 796.04 + + 670.41 + + 664.37 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 2217.14 + + 1715.81 + + 912.18 + + 672.86 + + 669.21 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 2197.36 + + 1671.51 + + 844.71 + + 677.77 + + 673.58 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1679.43 + + 1436.94 + + 794.30 + + 626.53 + + 583.05 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 714.36 + + 629.28 + + 470.79 + + 411.09 + + 409.60 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 710.94 + + 623.05 + + 469.58 + + 405.54 + + 403.88 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 727.74 + + 646.64 + + 494.30 + + 417.42 + + 414.09 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 725.34 + + 640.91 + + 473.44 + + 413.46 + + 413.30 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 86.70 + + 85.52 + + 81.76 + + 80.45 + + 80.18 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 637.16 + + 571.31 + + 455.54 + + 397.24 + + 391.35 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 601.18 + + 536.56 + + 411.11 + + 369.58 + + 369.28 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 596.21 + + 536.22 + + 407.44 + + 360.58 + + 359.93 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 607.10 + + 531.76 + + 412.08 + + 366.96 + + 365.90 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 1924.26 + + 1627.65 + + 854.57 + + 696.35 + + 627.87 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 2215.57 + + 1692.74 + + 904.56 + + 715.49 + + 689.46 + + 152 + + EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2 +
+ EcMul with 32-byte coordinates and 32-byte scalar + + 72.84 + + 71.68 + + 68.63 + + 67.39 + + 67.30 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 9419.23 + + 4471.56 + + 2508.84 + + 1806.07 + + 1357.80 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 72.86 + + 71.80 + + 69.14 + + 68.16 + + 68.02 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 222.25 + + 215.31 + + 195.44 + + 180.75 + + 180.64 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 855.77 + + 730.59 + + 531.72 + + 448.15 + + 444.99 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 673.16 + + 622.93 + + 445.19 + + 399.16 + + 399.09 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 1087.28 + + 969.37 + + 649.52 + + 576.94 + + 575.35 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 30489.13 + + 8882.35 + + 2673.63 + + 1582.01 + + 1515.95 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 1088.95 + + 1017.43 + + 698.41 + + 529.08 + + 527.19 + + 152 + + SStore - repeating storing the same 32-byte word in single storage key of single account +
+ SStore - one storage key, repeating two values, zero and non-zero + + 56061.90 + + 9861.93 + + 2669.71 + + 1663.40 + + 1601.73 + + 152 + + SStore - repeating storing zero and then storing 32-byte word in single storage key of single account +
+ SStore - many accounts, random storage keys, random values + + 17030.70 + + 5953.92 + + 1443.65 + + 1019.57 + + 991.56 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 549.94 + + 475.05 + + 398.81 + + 351.56 + + 329.22 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 977.72 + + 887.88 + + 604.54 + + 492.31 + + 488.89 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 826.21 + + 746.06 + + 526.77 + + 439.77 + + 439.19 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 1199.99 + + 1103.65 + + 725.52 + + 621.02 + + 620.47 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 734.67 + + 657.32 + + 467.78 + + 422.59 + + 421.76 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 1154.27 + + 1044.32 + + 612.22 + + 522.00 + + 519.40 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 876.20 + + 751.00 + + 541.12 + + 451.18 + + 447.82 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 905.54 + + 801.38 + + 600.87 + + 474.48 + + 467.04 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 2343.04 + + 1999.91 + + 1120.31 + + 993.07 + + 978.46 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 830.82 + + 778.73 + + 525.36 + + 451.55 + + 451.44 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Erigon - thorax/erigon:2.60.8 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 81.11 + + 77.89 + + 70.66 + + 66.84 + + 66.83 + + 112 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 74.25 + + 71.76 + + 65.86 + + 59.69 + + 59.01 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 75.98 + + 73.26 + + 67.05 + + 62.10 + + 61.23 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 211.46 + + 191.87 + + 149.81 + + 128.78 + + 128.39 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 103.45 + + 98.35 + + 85.44 + + 49.35 + + 41.67 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 110.66 + + 104.50 + + 92.53 + + 86.12 + + 85.33 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 141.10 + + 132.75 + + 110.60 + + 93.56 + + 93.47 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 139.92 + + 132.80 + + 113.10 + + 102.01 + + 101.52 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 184.54 + + 169.42 + + 136.11 + + 122.57 + + 121.68 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 182.48 + + 169.57 + + 138.17 + + 129.68 + + 129.55 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 181.98 + + 168.67 + + 136.87 + + 117.72 + + 116.94 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 130.76 + + 124.08 + + 108.43 + + 82.72 + + 77.21 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 201.57 + + 181.14 + + 144.52 + + 119.54 + + 118.30 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 187.36 + + 172.29 + + 138.63 + + 121.29 + + 119.93 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 70.84 + + 66.84 + + 61.59 + + 58.22 + + 57.90 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 130.06 + + 121.09 + + 101.63 + + 101.33 + + 85.87 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 211.85 + + 185.75 + + 149.06 + + 155.31 + + 142.05 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 153.67 + + 137.16 + + 126.18 + + 136.04 + + 122.74 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 123.93 + + 116.02 + + 102.31 + + 104.52 + + 89.88 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1032.61 + + 694.25 + + 411.08 + + 317.98 + + 265.27 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1001.71 + + 701.78 + + 377.05 + + 264.69 + + 248.43 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 1151.83 + + 739.61 + + 405.26 + + 258.67 + + 240.11 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 1052.30 + + 734.39 + + 354.28 + + 277.06 + + 264.98 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 1020.36 + + 715.93 + + 384.17 + + 295.72 + + 286.59 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1002.02 + + 695.42 + + 407.74 + + 334.08 + + 331.25 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 333.76 + + 292.78 + + 210.71 + + 178.61 + + 173.54 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 334.80 + + 292.63 + + 214.71 + + 171.48 + + 167.09 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 327.60 + + 292.15 + + 216.42 + + 163.36 + + 161.37 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 363.04 + + 311.89 + + 226.36 + + 196.84 + + 195.79 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 285.03 + + 248.77 + + 185.51 + + 143.18 + + 127.38 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 286.49 + + 253.81 + + 198.75 + + 168.81 + + 167.87 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 280.61 + + 251.43 + + 199.31 + + 161.14 + + 160.40 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 288.75 + + 255.58 + + 204.20 + + 176.81 + + 176.62 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 286.52 + + 255.58 + + 203.27 + + 159.74 + + 157.64 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 105.53 + + 99.66 + + 86.39 + + 79.28 + + 77.74 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 105.23 + + 100.27 + + 87.93 + + 81.24 + + 79.69 + + 152 + + EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2 +
+ EcMul with 32-byte coordinates and 32-byte scalar + + 97.43 + + 92.84 + + 82.52 + + 76.57 + + 76.14 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 248.73 + + 221.51 + + 172.36 + + 143.02 + + 142.80 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 97.19 + + 92.52 + + 81.01 + + 74.54 + + 74.37 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 243.53 + + 217.51 + + 161.05 + + 144.19 + + 141.57 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 184.43 + + 169.29 + + 140.81 + + 128.60 + + 127.58 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 153.48 + + 142.75 + + 116.93 + + 101.81 + + 99.66 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 437.81 + + 355.36 + + 262.88 + + 201.37 + + 189.12 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 4391.16 + + 1425.20 + + 395.04 + + 295.47 + + 274.71 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 441.53 + + 360.78 + + 255.65 + + 212.15 + + 211.74 + + 152 + + SStore - repeating storing the same 32-byte word in single storage key of single account +
+ SStore - one storage key, repeating two values, zero and non-zero + + 10668.03 + + 1825.13 + + 551.18 + + 405.16 + + 329.44 + + 152 + + SStore - repeating storing zero and then storing 32-byte word in single storage key of single account +
+ SStore - many accounts, random storage keys, random values + + 3192.80 + + 1220.13 + + 399.85 + + 336.79 + + 325.06 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 208.71 + + 186.66 + + 144.85 + + 135.72 + + 135.52 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 232.69 + + 209.97 + + 156.87 + + 132.38 + + 131.87 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 131.70 + + 123.72 + + 108.44 + + 99.05 + + 97.72 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 210.19 + + 188.87 + + 154.60 + + 101.81 + + 83.86 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 141.27 + + 132.73 + + 113.24 + + 101.91 + + 100.53 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 178.42 + + 162.76 + + 128.12 + + 96.82 + + 82.83 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 182.97 + + 168.55 + + 140.28 + + 122.05 + + 120.49 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 184.25 + + 169.01 + + 134.97 + + 111.16 + + 108.87 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 274.79 + + 220.51 + + 131.55 + + 124.36 + + 114.75 + + 93 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 145.64 + + 135.38 + + 108.47 + + 113.36 + + 101.42 + + 72 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Besu - hyperledger/besu:24.9.1 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 88.20 + + 84.04 + + 77.52 + + 73.59 + + 73.53 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 89.57 + + 84.91 + + 80.68 + + 79.47 + + 79.30 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 88.98 + + 84.62 + + 80.26 + + 78.09 + + 77.83 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 192.52 + + 182.22 + + 171.24 + + 154.24 + + 152.63 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 91.30 + + 89.48 + + 86.02 + + 83.42 + + 83.10 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 111.11 + + 107.54 + + 104.98 + + 99.57 + + 99.23 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 123.49 + + 120.43 + + 107.77 + + 95.69 + + 94.33 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 123.21 + + 121.05 + + 115.82 + + 110.74 + + 109.99 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 99.25 + + 97.16 + + 74.40 + + 72.54 + + 72.39 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 96.94 + + 95.60 + + 93.94 + + 92.12 + + 92.09 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 97.52 + + 96.01 + + 93.55 + + 90.77 + + 90.51 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 127.07 + + 122.62 + + 120.05 + + 117.36 + + 116.88 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 121.74 + + 113.89 + + 105.81 + + 102.35 + + 102.12 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 114.72 + + 113.09 + + 108.81 + + 106.03 + + 105.58 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 74.74 + + 71.01 + + 67.83 + + 62.24 + + 62.19 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 93.00 + + 91.50 + + 87.85 + + 87.17 + + 84.03 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 59.26 + + 57.39 + + 54.50 + + 54.05 + + 52.83 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 150.21 + + 119.16 + + 112.02 + + 128.21 + + 111.62 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 103.28 + + 101.56 + + 99.76 + + 99.87 + + 97.30 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 377.79 + + 364.75 + + 345.28 + + 310.95 + + 297.75 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 511.85 + + 497.73 + + 469.50 + + 411.24 + + 371.93 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 372.69 + + 361.88 + + 338.92 + + 312.79 + + 309.82 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 375.42 + + 364.15 + + 345.94 + + 326.96 + + 321.51 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 377.31 + + 366.44 + + 353.82 + + 320.20 + + 317.23 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 468.90 + + 454.24 + + 420.05 + + 365.40 + + 361.17 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 96.76 + + 93.51 + + 90.82 + + 89.38 + + 89.10 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 96.99 + + 93.78 + + 91.42 + + 89.25 + + 89.19 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 96.03 + + 92.99 + + 90.35 + + 89.75 + + 89.69 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 88.68 + + 85.82 + + 83.46 + + 80.59 + + 80.12 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 86.85 + + 86.01 + + 85.36 + + 81.76 + + 81.36 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 89.84 + + 86.02 + + 83.07 + + 81.16 + + 80.89 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 86.11 + + 82.31 + + 79.58 + + 77.87 + + 77.74 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 85.78 + + 82.25 + + 79.14 + + 77.74 + + 77.65 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 85.70 + + 81.92 + + 78.64 + + 76.50 + + 76.24 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 1260.03 + + 1146.89 + + 636.56 + + 358.39 + + 322.96 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 1275.90 + + 1159.34 + + 669.97 + + 544.00 + + 515.47 + + 152 + + EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2 +
+ EcMul with 32-byte coordinates and 32-byte scalar + + 154.72 + + 152.02 + + 133.73 + + 121.98 + + 121.42 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 3006.52 + + 2726.63 + + 1117.97 + + 786.27 + + 773.45 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 154.81 + + 151.58 + + 133.86 + + 119.86 + + 118.39 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 3006.27 + + 2788.64 + + 1082.21 + + 765.68 + + 762.15 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 97.54 + + 96.40 + + 90.25 + + 79.56 + + 77.63 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 185.94 + + 183.63 + + 178.40 + + 173.96 + + 171.99 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 392.95 + + 306.45 + + 229.36 + + 198.27 + + 191.03 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 6195.12 + + 1769.33 + + 809.11 + + 521.62 + + 466.52 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 369.82 + + 287.08 + + 223.61 + + 205.08 + + 200.47 + + 152 + + SStore - repeating storing the same 32-byte word in single storage key of single account +
+ SStore - one storage key, repeating two values, zero and non-zero + + 27224.97 + + 9044.55 + + 2178.71 + + 1547.73 + + 1241.95 + + 152 + + SStore - repeating storing zero and then storing 32-byte word in single storage key of single account +
+ SStore - many accounts, random storage keys, random values + + 5030.66 + + 2995.83 + + 1189.02 + + 862.10 + + 808.46 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 316.39 + + 247.64 + + 195.32 + + 149.25 + + 144.20 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 151.14 + + 134.06 + + 119.81 + + 111.50 + + 109.03 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 122.61 + + 118.40 + + 95.33 + + 90.24 + + 90.07 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 129.45 + + 120.23 + + 116.61 + + 111.97 + + 111.45 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 123.08 + + 119.07 + + 115.22 + + 110.09 + + 109.48 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 155.46 + + 149.16 + + 146.10 + + 125.24 + + 113.16 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 97.26 + + 93.33 + + 89.83 + + 87.05 + + 86.75 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 118.70 + + 111.80 + + 108.49 + + 105.46 + + 105.36 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 949.97 + + 886.87 + + 649.62 + + 623.39 + + 619.61 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 122.09 + + 119.65 + + 103.17 + + 99.05 + + 99.02 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+ + + diff --git a/gas/20240923.json b/gas/20240923.json new file mode 100644 index 0000000..863d85f --- /dev/null +++ b/gas/20240923.json @@ -0,0 +1,2862 @@ +{ + "nethermind": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "169.82", + "p50": "168.05", + "p95": "159.65", + "p99": "155.00", + "min": "154.81", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "170.38", + "p50": "168.49", + "p95": "167.08", + "p99": "165.42", + "min": "165.33", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "170.25", + "p50": "168.17", + "p95": "164.10", + "p99": "162.44", + "min": "162.37", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "758.14", + "p50": "745.98", + "p95": "509.43", + "p99": "454.56", + "min": "427.91", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "403.70", + "p50": "395.57", + "p95": "384.66", + "p99": "366.89", + "min": "363.97", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "439.42", + "p50": "430.26", + "p95": "417.42", + "p99": "402.90", + "min": "400.66", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "324.18", + "p50": "317.77", + "p95": "308.80", + "p99": "297.70", + "min": "296.23", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "187.27", + "p50": "184.69", + "p95": "180.74", + "p99": "175.01", + "min": "174.57", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "266.08", + "p50": "258.86", + "p95": "243.07", + "p99": "234.51", + "min": "233.84", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "257.33", + "p50": "254.44", + "p95": "249.77", + "p99": "243.69", + "min": "242.79", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "259.90", + "p50": "257.20", + "p95": "253.38", + "p99": "242.58", + "min": "241.37", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "190.17", + "p50": "187.89", + "p95": "182.35", + "p99": "173.87", + "min": "173.23", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "320.30", + "p50": "315.53", + "p95": "303.77", + "p99": "300.18", + "min": "300.11", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "309.03", + "p50": "301.55", + "p95": "293.11", + "p99": "290.13", + "min": "290.03", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "7737.45", + "p50": "5463.91", + "p95": "2568.82", + "p99": "2084.15", + "min": "2048.61", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "2450.39", + "p50": "2114.74", + "p95": "953.07", + "p99": "1399.08", + "min": "832.98", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "290.29", + "p50": "244.38", + "p95": "226.49", + "p99": "214.30", + "min": "196.48", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "8368.73", + "p50": "4140.46", + "p95": "1093.83", + "p99": "4207.45", + "min": "1068.24", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "8136.80", + "p50": "4545.17", + "p95": "1651.26", + "p99": "4385.71", + "min": "1555.93", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1817.91", + "p50": "1660.40", + "p95": "557.72", + "p99": "183.20", + "min": "170.33", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "20414.10", + "p50": "5040.60", + "p95": "791.71", + "p99": "751.44", + "min": "750.08", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "1306.38", + "p50": "1192.35", + "p95": "487.33", + "p99": "447.18", + "min": "437.19", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "2136.64", + "p50": "1982.64", + "p95": "1218.44", + "p99": "933.84", + "min": "860.92", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "2138.09", + "p50": "2007.95", + "p95": "1285.58", + "p99": "276.91", + "min": "196.11", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "6337.12", + "p50": "5558.42", + "p95": "777.96", + "p99": "632.36", + "min": "565.36", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "297.13", + "p50": "258.80", + "p95": "145.36", + "p99": "143.78", + "min": "143.74", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "492.37", + "p50": "453.13", + "p95": "387.60", + "p99": "61.06", + "min": "48.92", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "347.95", + "p50": "301.46", + "p95": "58.29", + "p99": "56.03", + "min": "55.94", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "417.96", + "p50": "386.16", + "p95": "156.52", + "p99": "84.42", + "min": "83.98", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "37243.48", + "p50": "8087.65", + "p95": "2578.37", + "p99": "154.79", + "min": "137.17", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "368.94", + "p50": "353.32", + "p95": "295.52", + "p99": "148.85", + "min": "111.36", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "353.16", + "p50": "341.21", + "p95": "285.53", + "p99": "279.12", + "min": "279.00", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "355.08", + "p50": "342.31", + "p95": "286.88", + "p99": "276.99", + "min": "276.47", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "355.88", + "p50": "336.83", + "p95": "286.14", + "p99": "158.42", + "min": "125.73", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "14724.97", + "p50": "7398.01", + "p95": "2457.40", + "p99": "1078.20", + "min": "547.95", + "n": "152", + "description": "EcMul precompile with initial point x = 1, y = 2 and scalar equal 2" + }, + "EcMul32ByteCoordinates2Scalar": { + "title": "EcMul with 32-byte coordinates and scalar 2", + "max": "15110.36", + "p50": "7842.42", + "p95": "2613.37", + "p99": "1117.78", + "min": "424.78", + "n": "152", + "description": "EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2" + }, + "EcMul32ByteCoordinates32ByteScalar": { + "title": "EcMul with 32-byte coordinates and 32-byte scalar", + "max": "14695.78", + "p50": "6935.94", + "p95": "2374.01", + "p99": "1053.82", + "min": "648.92", + "n": "136", + "description": "EcMul precompile with initial point with x, y and scalar as 32-byte values" + }, + "EcMulInfinities2Scalar": { + "title": "EcMul with (0, 0) and scalar 2", + "max": "15242.36", + "p50": "6740.79", + "p95": "2647.93", + "p99": "860.49", + "min": "81.90", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2" + }, + "EcMul12And32ByteScalar": { + "title": "EcMul with (1, 2) and 32-byte scalar", + "max": "14067.46", + "p50": "6462.77", + "p95": "2332.09", + "p99": "634.44", + "min": "231.59", + "n": "128", + "description": "EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values" + }, + "EcMulInfinities32ByteScalar": { + "title": "EcMul with (0, 0) and 32-byte scalar", + "max": "15038.46", + "p50": "7171.54", + "p95": "2608.66", + "p99": "1596.68", + "min": "1565.48", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "256.88", + "p50": "253.14", + "p95": "242.70", + "p99": "226.23", + "min": "223.89", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "538.96", + "p50": "530.00", + "p95": "502.63", + "p99": "461.98", + "min": "455.43", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "1188.84", + "p50": "1133.87", + "p95": "378.49", + "p99": "363.04", + "min": "362.42", + "n": "152", + "description": "SStore - repeating storing zero in single storage key of single account" + }, + "SStoreManyAccountsConsecutiveKeysRandomValue": { + "title": "SStore - many accounts, consecutive storage keys, random values", + "max": "20867.26", + "p50": "9152.97", + "p95": "2587.51", + "p99": "1382.11", + "min": "1011.04", + "n": "152", + "description": "SStore - storing random 32-byte values in consecutive storage keys of many accounts" + }, + "SStoreOneAccountOneKeyConstantValue": { + "title": "SStore - one storage key, repeating constant value", + "max": "1093.17", + "p50": "1046.60", + "p95": "345.66", + "p99": "232.45", + "min": "124.46", + "n": "152", + "description": "SStore - repeating storing the same 32-byte word in single storage key of single account" + }, + "SStoreOneAccountOneKeyTwoValues": { + "title": "SStore - one storage key, repeating two values, zero and non-zero", + "max": "49594.17", + "p50": "9285.38", + "p95": "2584.07", + "p99": "1726.59", + "min": "1712.71", + "n": "152", + "description": "SStore - repeating storing zero and then storing 32-byte word in single storage key of single account" + }, + "SStoreManyAccountsRandomKeysRandomValue": { + "title": "SStore - many accounts, random storage keys, random values", + "max": "17352.54", + "p50": "6971.98", + "p95": "2659.10", + "p99": "1805.49", + "min": "1645.40", + "n": "152", + "description": "SStore - storing random 32-byte values in random storage keys of many accounts" + }, + "SStoreOneAccountOneKeyRandomValue": { + "title": "SStore - one storage key, repeating random values", + "max": "524.83", + "p50": "496.44", + "p95": "441.09", + "p99": "378.06", + "min": "372.61", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "518.00", + "p50": "510.19", + "p95": "462.49", + "p99": "425.46", + "min": "414.79", + "n": "128", + "description": "Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract)" + }, + "Address": { + "title": "Address", + "max": "205.26", + "p50": "203.30", + "p95": "195.52", + "p99": "186.40", + "min": "183.11", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "436.97", + "p50": "427.29", + "p95": "418.28", + "p99": "342.36", + "min": "325.00", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "205.38", + "p50": "201.56", + "p95": "195.20", + "p99": "194.02", + "min": "194.02", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "329.09", + "p50": "322.25", + "p95": "314.46", + "p99": "295.62", + "min": "283.67", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "272.88", + "p50": "267.12", + "p95": "239.41", + "p99": "174.30", + "min": "157.35", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "516.94", + "p50": "504.21", + "p95": "467.52", + "p99": "393.69", + "min": "358.37", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "1450.17", + "p50": "1148.25", + "p95": "834.20", + "p99": "732.76", + "min": "715.56", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "317.82", + "p50": "313.88", + "p95": "296.75", + "p99": "292.12", + "min": "291.82", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "geth": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "87.61", + "p50": "84.20", + "p95": "77.41", + "p99": "74.26", + "min": "74.22", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "80.17", + "p50": "77.67", + "p95": "70.67", + "p99": "57.81", + "min": "54.95", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "82.19", + "p50": "78.67", + "p95": "72.94", + "p99": "67.36", + "min": "66.34", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "227.94", + "p50": "211.43", + "p95": "172.70", + "p99": "162.23", + "min": "160.46", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "174.02", + "p50": "160.69", + "p95": "134.93", + "p99": "117.51", + "min": "114.81", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "180.15", + "p50": "167.70", + "p95": "145.36", + "p99": "124.38", + "min": "119.06", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "170.46", + "p50": "159.32", + "p95": "132.90", + "p99": "120.76", + "min": "118.93", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "168.31", + "p50": "157.03", + "p95": "134.77", + "p99": "130.20", + "min": "130.05", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "192.80", + "p50": "178.56", + "p95": "148.74", + "p99": "135.44", + "min": "131.04", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "176.00", + "p50": "160.44", + "p95": "136.89", + "p99": "125.07", + "min": "124.77", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "191.88", + "p50": "178.04", + "p95": "148.87", + "p99": "136.00", + "min": "135.05", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "143.38", + "p50": "134.88", + "p95": "118.39", + "p99": "110.69", + "min": "110.00", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "216.49", + "p50": "199.61", + "p95": "172.82", + "p99": "159.86", + "min": "159.58", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "173.19", + "p50": "162.01", + "p95": "141.47", + "p99": "91.73", + "min": "84.75", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "68.05", + "p50": "64.75", + "p95": "59.83", + "p99": "57.82", + "min": "57.69", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "137.34", + "p50": "128.17", + "p95": "114.65", + "p99": "121.08", + "min": "112.32", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "384.37", + "p50": "300.99", + "p95": "236.23", + "p99": "228.22", + "min": "191.59", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "176.29", + "p50": "141.86", + "p95": "133.38", + "p99": "151.49", + "min": "132.78", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "128.36", + "p50": "121.59", + "p95": "111.29", + "p99": "112.04", + "min": "99.73", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1150.70", + "p50": "875.40", + "p95": "507.91", + "p99": "432.85", + "min": "429.01", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1027.42", + "p50": "795.56", + "p95": "463.97", + "p99": "397.48", + "min": "388.83", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "1332.25", + "p50": "1031.18", + "p95": "585.02", + "p99": "430.18", + "min": "427.71", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "1271.14", + "p50": "923.47", + "p95": "479.93", + "p99": "409.85", + "min": "408.68", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "1257.73", + "p50": "881.63", + "p95": "569.19", + "p99": "462.73", + "min": "462.13", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1073.70", + "p50": "840.26", + "p95": "507.18", + "p99": "402.54", + "min": "397.63", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "636.40", + "p50": "506.05", + "p95": "356.16", + "p99": "307.19", + "min": "301.61", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "635.48", + "p50": "512.15", + "p95": "377.48", + "p99": "329.89", + "min": "326.97", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "642.01", + "p50": "511.70", + "p95": "366.93", + "p99": "324.87", + "min": "323.77", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "666.78", + "p50": "538.33", + "p95": "355.87", + "p99": "298.42", + "min": "291.15", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "290.30", + "p50": "263.35", + "p95": "211.17", + "p99": "189.57", + "min": "189.20", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "546.29", + "p50": "434.95", + "p95": "306.05", + "p99": "272.28", + "min": "270.63", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "545.80", + "p50": "440.53", + "p95": "313.59", + "p99": "268.70", + "min": "267.67", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "571.37", + "p50": "445.22", + "p95": "340.95", + "p99": "299.76", + "min": "299.15", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "560.90", + "p50": "450.68", + "p95": "315.54", + "p99": "283.05", + "min": "279.05", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "106.73", + "p50": "101.93", + "p95": "91.72", + "p99": "84.53", + "min": "82.83", + "n": "152", + "description": "EcMul precompile with initial point x = 1, y = 2 and scalar equal 2" + }, + "EcMul32ByteCoordinates2Scalar": { + "title": "EcMul with 32-byte coordinates and scalar 2", + "max": "106.32", + "p50": "101.90", + "p95": "91.01", + "p99": "85.70", + "min": "84.36", + "n": "152", + "description": "EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2" + }, + "EcMul32ByteCoordinates32ByteScalar": { + "title": "EcMul with 32-byte coordinates and 32-byte scalar", + "max": "98.79", + "p50": "94.55", + "p95": "85.80", + "p99": "80.13", + "min": "78.93", + "n": "136", + "description": "EcMul precompile with initial point with x, y and scalar as 32-byte values" + }, + "EcMulInfinities2Scalar": { + "title": "EcMul with (0, 0) and scalar 2", + "max": "252.87", + "p50": "230.54", + "p95": "184.88", + "p99": "169.07", + "min": "164.40", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2" + }, + "EcMul12And32ByteScalar": { + "title": "EcMul with (1, 2) and 32-byte scalar", + "max": "98.69", + "p50": "94.35", + "p95": "85.32", + "p99": "79.40", + "min": "77.88", + "n": "128", + "description": "EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values" + }, + "EcMulInfinities32ByteScalar": { + "title": "EcMul with (0, 0) and 32-byte scalar", + "max": "244.43", + "p50": "225.35", + "p95": "185.23", + "p99": "170.48", + "min": "170.34", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "195.12", + "p50": "177.81", + "p95": "155.91", + "p99": "143.41", + "min": "142.87", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "199.86", + "p50": "184.62", + "p95": "156.46", + "p99": "87.88", + "min": "87.54", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "354.71", + "p50": "308.62", + "p95": "254.22", + "p99": "204.98", + "min": "204.94", + "n": "152", + "description": "SStore - repeating storing zero in single storage key of single account" + }, + "SStoreManyAccountsConsecutiveKeysRandomValue": { + "title": "SStore - many accounts, consecutive storage keys, random values", + "max": "4649.16", + "p50": "1966.23", + "p95": "887.69", + "p99": "661.73", + "min": "649.89", + "n": "152", + "description": "SStore - storing random 32-byte values in consecutive storage keys of many accounts" + }, + "SStoreOneAccountOneKeyConstantValue": { + "title": "SStore - one storage key, repeating constant value", + "max": "344.19", + "p50": "306.81", + "p95": "251.40", + "p99": "221.18", + "min": "220.14", + "n": "152", + "description": "SStore - repeating storing the same 32-byte word in single storage key of single account" + }, + "SStoreOneAccountOneKeyTwoValues": { + "title": "SStore - one storage key, repeating two values, zero and non-zero", + "max": "12661.52", + "p50": "3284.30", + "p95": "1169.19", + "p99": "744.87", + "min": "611.13", + "n": "152", + "description": "SStore - repeating storing zero and then storing 32-byte word in single storage key of single account" + }, + "SStoreManyAccountsRandomKeysRandomValue": { + "title": "SStore - many accounts, random storage keys, random values", + "max": "3073.21", + "p50": "1767.84", + "p95": "733.42", + "p99": "607.93", + "min": "591.56", + "n": "152", + "description": "SStore - storing random 32-byte values in random storage keys of many accounts" + }, + "SStoreOneAccountOneKeyRandomValue": { + "title": "SStore - one storage key, repeating random values", + "max": "158.11", + "p50": "145.13", + "p95": "128.50", + "p99": "115.41", + "min": "114.83", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "237.78", + "p50": "169.36", + "p95": "137.83", + "p99": "116.94", + "min": "115.10", + "n": "128", + "description": "Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract)" + }, + "Address": { + "title": "Address", + "max": "91.44", + "p50": "87.54", + "p95": "78.71", + "p99": "64.60", + "min": "61.44", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "226.41", + "p50": "208.39", + "p95": "177.35", + "p99": "104.49", + "min": "83.75", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "168.78", + "p50": "160.55", + "p95": "131.68", + "p99": "107.91", + "min": "105.60", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "198.72", + "p50": "182.97", + "p95": "150.61", + "p99": "130.28", + "min": "129.67", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "194.99", + "p50": "179.39", + "p95": "156.43", + "p99": "146.26", + "min": "146.04", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "197.44", + "p50": "182.65", + "p95": "155.02", + "p99": "146.21", + "min": "145.49", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "1143.20", + "p50": "890.32", + "p95": "547.95", + "p99": "508.08", + "min": "507.09", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "170.74", + "p50": "158.80", + "p95": "121.93", + "p99": "111.86", + "min": "111.04", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "reth": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "191.29", + "p50": "186.37", + "p95": "167.08", + "p99": "164.67", + "min": "164.50", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "190.43", + "p50": "184.30", + "p95": "164.77", + "p99": "157.52", + "min": "157.47", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "194.92", + "p50": "190.05", + "p95": "178.18", + "p99": "165.23", + "min": "163.52", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "1188.89", + "p50": "1073.85", + "p95": "699.96", + "p99": "577.84", + "min": "554.74", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "700.91", + "p50": "616.95", + "p95": "468.13", + "p99": "402.30", + "min": "400.58", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "808.19", + "p50": "724.18", + "p95": "506.77", + "p99": "287.86", + "min": "221.99", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "720.83", + "p50": "640.38", + "p95": "508.13", + "p99": "449.79", + "min": "447.38", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "732.02", + "p50": "668.64", + "p95": "497.37", + "p99": "415.05", + "min": "414.22", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "891.09", + "p50": "779.02", + "p95": "576.93", + "p99": "517.27", + "min": "517.07", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "862.29", + "p50": "755.23", + "p95": "527.46", + "p99": "457.65", + "min": "453.74", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "830.50", + "p50": "723.72", + "p95": "499.31", + "p99": "434.91", + "min": "434.48", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "819.87", + "p50": "733.85", + "p95": "548.74", + "p99": "437.33", + "min": "433.32", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "883.29", + "p50": "772.31", + "p95": "513.80", + "p99": "457.76", + "min": "456.45", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "830.78", + "p50": "735.55", + "p95": "531.26", + "p99": "445.97", + "min": "438.90", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "64.40", + "p50": "62.42", + "p95": "60.34", + "p99": "58.74", + "min": "58.72", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "97.60", + "p50": "94.92", + "p95": "89.03", + "p99": "91.37", + "min": "88.02", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "492.26", + "p50": "434.57", + "p95": "357.60", + "p99": "357.45", + "min": "325.83", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "132.08", + "p50": "103.18", + "p95": "97.55", + "p99": "111.09", + "min": "95.25", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "91.44", + "p50": "87.62", + "p95": "84.57", + "p99": "86.97", + "min": "83.59", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1797.67", + "p50": "1535.63", + "p95": "757.83", + "p99": "604.50", + "min": "603.99", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1638.52", + "p50": "1399.22", + "p95": "838.68", + "p99": "671.52", + "min": "633.04", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "2248.07", + "p50": "1636.56", + "p95": "796.04", + "p99": "670.41", + "min": "664.37", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "2217.14", + "p50": "1715.81", + "p95": "912.18", + "p99": "672.86", + "min": "669.21", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "2197.36", + "p50": "1671.51", + "p95": "844.71", + "p99": "677.77", + "min": "673.58", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1679.43", + "p50": "1436.94", + "p95": "794.30", + "p99": "626.53", + "min": "583.05", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "714.36", + "p50": "629.28", + "p95": "470.79", + "p99": "411.09", + "min": "409.60", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "710.94", + "p50": "623.05", + "p95": "469.58", + "p99": "405.54", + "min": "403.88", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "727.74", + "p50": "646.64", + "p95": "494.30", + "p99": "417.42", + "min": "414.09", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "725.34", + "p50": "640.91", + "p95": "473.44", + "p99": "413.46", + "min": "413.30", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "86.70", + "p50": "85.52", + "p95": "81.76", + "p99": "80.45", + "min": "80.18", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "637.16", + "p50": "571.31", + "p95": "455.54", + "p99": "397.24", + "min": "391.35", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "601.18", + "p50": "536.56", + "p95": "411.11", + "p99": "369.58", + "min": "369.28", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "596.21", + "p50": "536.22", + "p95": "407.44", + "p99": "360.58", + "min": "359.93", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "607.10", + "p50": "531.76", + "p95": "412.08", + "p99": "366.96", + "min": "365.90", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "1924.26", + "p50": "1627.65", + "p95": "854.57", + "p99": "696.35", + "min": "627.87", + "n": "152", + "description": "EcMul precompile with initial point x = 1, y = 2 and scalar equal 2" + }, + "EcMul32ByteCoordinates2Scalar": { + "title": "EcMul with 32-byte coordinates and scalar 2", + "max": "2215.57", + "p50": "1692.74", + "p95": "904.56", + "p99": "715.49", + "min": "689.46", + "n": "152", + "description": "EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2" + }, + "EcMul32ByteCoordinates32ByteScalar": { + "title": "EcMul with 32-byte coordinates and 32-byte scalar", + "max": "72.84", + "p50": "71.68", + "p95": "68.63", + "p99": "67.39", + "min": "67.30", + "n": "136", + "description": "EcMul precompile with initial point with x, y and scalar as 32-byte values" + }, + "EcMulInfinities2Scalar": { + "title": "EcMul with (0, 0) and scalar 2", + "max": "9419.23", + "p50": "4471.56", + "p95": "2508.84", + "p99": "1806.07", + "min": "1357.80", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2" + }, + "EcMul12And32ByteScalar": { + "title": "EcMul with (1, 2) and 32-byte scalar", + "max": "72.86", + "p50": "71.80", + "p95": "69.14", + "p99": "68.16", + "min": "68.02", + "n": "128", + "description": "EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values" + }, + "EcMulInfinities32ByteScalar": { + "title": "EcMul with (0, 0) and 32-byte scalar", + "max": "222.25", + "p50": "215.31", + "p95": "195.44", + "p99": "180.75", + "min": "180.64", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "855.77", + "p50": "730.59", + "p95": "531.72", + "p99": "448.15", + "min": "444.99", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "673.16", + "p50": "622.93", + "p95": "445.19", + "p99": "399.16", + "min": "399.09", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "1087.28", + "p50": "969.37", + "p95": "649.52", + "p99": "576.94", + "min": "575.35", + "n": "152", + "description": "SStore - repeating storing zero in single storage key of single account" + }, + "SStoreManyAccountsConsecutiveKeysRandomValue": { + "title": "SStore - many accounts, consecutive storage keys, random values", + "max": "30489.13", + "p50": "8882.35", + "p95": "2673.63", + "p99": "1582.01", + "min": "1515.95", + "n": "152", + "description": "SStore - storing random 32-byte values in consecutive storage keys of many accounts" + }, + "SStoreOneAccountOneKeyConstantValue": { + "title": "SStore - one storage key, repeating constant value", + "max": "1088.95", + "p50": "1017.43", + "p95": "698.41", + "p99": "529.08", + "min": "527.19", + "n": "152", + "description": "SStore - repeating storing the same 32-byte word in single storage key of single account" + }, + "SStoreOneAccountOneKeyTwoValues": { + "title": "SStore - one storage key, repeating two values, zero and non-zero", + "max": "56061.90", + "p50": "9861.93", + "p95": "2669.71", + "p99": "1663.40", + "min": "1601.73", + "n": "152", + "description": "SStore - repeating storing zero and then storing 32-byte word in single storage key of single account" + }, + "SStoreManyAccountsRandomKeysRandomValue": { + "title": "SStore - many accounts, random storage keys, random values", + "max": "17030.70", + "p50": "5953.92", + "p95": "1443.65", + "p99": "1019.57", + "min": "991.56", + "n": "152", + "description": "SStore - storing random 32-byte values in random storage keys of many accounts" + }, + "SStoreOneAccountOneKeyRandomValue": { + "title": "SStore - one storage key, repeating random values", + "max": "549.94", + "p50": "475.05", + "p95": "398.81", + "p99": "351.56", + "min": "329.22", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "977.72", + "p50": "887.88", + "p95": "604.54", + "p99": "492.31", + "min": "488.89", + "n": "128", + "description": "Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract)" + }, + "Address": { + "title": "Address", + "max": "826.21", + "p50": "746.06", + "p95": "526.77", + "p99": "439.77", + "min": "439.19", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "1199.99", + "p50": "1103.65", + "p95": "725.52", + "p99": "621.02", + "min": "620.47", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "734.67", + "p50": "657.32", + "p95": "467.78", + "p99": "422.59", + "min": "421.76", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "1154.27", + "p50": "1044.32", + "p95": "612.22", + "p99": "522.00", + "min": "519.40", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "876.20", + "p50": "751.00", + "p95": "541.12", + "p99": "451.18", + "min": "447.82", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "905.54", + "p50": "801.38", + "p95": "600.87", + "p99": "474.48", + "min": "467.04", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "2343.04", + "p50": "1999.91", + "p95": "1120.31", + "p99": "993.07", + "min": "978.46", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "830.82", + "p50": "778.73", + "p95": "525.36", + "p99": "451.55", + "min": "451.44", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "erigon": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "81.11", + "p50": "77.89", + "p95": "70.66", + "p99": "66.84", + "min": "66.83", + "n": "112", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "74.25", + "p50": "71.76", + "p95": "65.86", + "p99": "59.69", + "min": "59.01", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "75.98", + "p50": "73.26", + "p95": "67.05", + "p99": "62.10", + "min": "61.23", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "211.46", + "p50": "191.87", + "p95": "149.81", + "p99": "128.78", + "min": "128.39", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "103.45", + "p50": "98.35", + "p95": "85.44", + "p99": "49.35", + "min": "41.67", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "110.66", + "p50": "104.50", + "p95": "92.53", + "p99": "86.12", + "min": "85.33", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "141.10", + "p50": "132.75", + "p95": "110.60", + "p99": "93.56", + "min": "93.47", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "139.92", + "p50": "132.80", + "p95": "113.10", + "p99": "102.01", + "min": "101.52", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "184.54", + "p50": "169.42", + "p95": "136.11", + "p99": "122.57", + "min": "121.68", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "182.48", + "p50": "169.57", + "p95": "138.17", + "p99": "129.68", + "min": "129.55", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "181.98", + "p50": "168.67", + "p95": "136.87", + "p99": "117.72", + "min": "116.94", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "130.76", + "p50": "124.08", + "p95": "108.43", + "p99": "82.72", + "min": "77.21", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "201.57", + "p50": "181.14", + "p95": "144.52", + "p99": "119.54", + "min": "118.30", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "187.36", + "p50": "172.29", + "p95": "138.63", + "p99": "121.29", + "min": "119.93", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "70.84", + "p50": "66.84", + "p95": "61.59", + "p99": "58.22", + "min": "57.90", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "130.06", + "p50": "121.09", + "p95": "101.63", + "p99": "101.33", + "min": "85.87", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "211.85", + "p50": "185.75", + "p95": "149.06", + "p99": "155.31", + "min": "142.05", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "153.67", + "p50": "137.16", + "p95": "126.18", + "p99": "136.04", + "min": "122.74", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "123.93", + "p50": "116.02", + "p95": "102.31", + "p99": "104.52", + "min": "89.88", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1032.61", + "p50": "694.25", + "p95": "411.08", + "p99": "317.98", + "min": "265.27", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1001.71", + "p50": "701.78", + "p95": "377.05", + "p99": "264.69", + "min": "248.43", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "1151.83", + "p50": "739.61", + "p95": "405.26", + "p99": "258.67", + "min": "240.11", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "1052.30", + "p50": "734.39", + "p95": "354.28", + "p99": "277.06", + "min": "264.98", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "1020.36", + "p50": "715.93", + "p95": "384.17", + "p99": "295.72", + "min": "286.59", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1002.02", + "p50": "695.42", + "p95": "407.74", + "p99": "334.08", + "min": "331.25", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "333.76", + "p50": "292.78", + "p95": "210.71", + "p99": "178.61", + "min": "173.54", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "334.80", + "p50": "292.63", + "p95": "214.71", + "p99": "171.48", + "min": "167.09", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "327.60", + "p50": "292.15", + "p95": "216.42", + "p99": "163.36", + "min": "161.37", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "363.04", + "p50": "311.89", + "p95": "226.36", + "p99": "196.84", + "min": "195.79", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "285.03", + "p50": "248.77", + "p95": "185.51", + "p99": "143.18", + "min": "127.38", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "286.49", + "p50": "253.81", + "p95": "198.75", + "p99": "168.81", + "min": "167.87", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "280.61", + "p50": "251.43", + "p95": "199.31", + "p99": "161.14", + "min": "160.40", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "288.75", + "p50": "255.58", + "p95": "204.20", + "p99": "176.81", + "min": "176.62", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "286.52", + "p50": "255.58", + "p95": "203.27", + "p99": "159.74", + "min": "157.64", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "105.53", + "p50": "99.66", + "p95": "86.39", + "p99": "79.28", + "min": "77.74", + "n": "152", + "description": "EcMul precompile with initial point x = 1, y = 2 and scalar equal 2" + }, + "EcMul32ByteCoordinates2Scalar": { + "title": "EcMul with 32-byte coordinates and scalar 2", + "max": "105.23", + "p50": "100.27", + "p95": "87.93", + "p99": "81.24", + "min": "79.69", + "n": "152", + "description": "EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2" + }, + "EcMul32ByteCoordinates32ByteScalar": { + "title": "EcMul with 32-byte coordinates and 32-byte scalar", + "max": "97.43", + "p50": "92.84", + "p95": "82.52", + "p99": "76.57", + "min": "76.14", + "n": "136", + "description": "EcMul precompile with initial point with x, y and scalar as 32-byte values" + }, + "EcMulInfinities2Scalar": { + "title": "EcMul with (0, 0) and scalar 2", + "max": "248.73", + "p50": "221.51", + "p95": "172.36", + "p99": "143.02", + "min": "142.80", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2" + }, + "EcMul12And32ByteScalar": { + "title": "EcMul with (1, 2) and 32-byte scalar", + "max": "97.19", + "p50": "92.52", + "p95": "81.01", + "p99": "74.54", + "min": "74.37", + "n": "128", + "description": "EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values" + }, + "EcMulInfinities32ByteScalar": { + "title": "EcMul with (0, 0) and 32-byte scalar", + "max": "243.53", + "p50": "217.51", + "p95": "161.05", + "p99": "144.19", + "min": "141.57", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "184.43", + "p50": "169.29", + "p95": "140.81", + "p99": "128.60", + "min": "127.58", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "153.48", + "p50": "142.75", + "p95": "116.93", + "p99": "101.81", + "min": "99.66", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "437.81", + "p50": "355.36", + "p95": "262.88", + "p99": "201.37", + "min": "189.12", + "n": "152", + "description": "SStore - repeating storing zero in single storage key of single account" + }, + "SStoreManyAccountsConsecutiveKeysRandomValue": { + "title": "SStore - many accounts, consecutive storage keys, random values", + "max": "4391.16", + "p50": "1425.20", + "p95": "395.04", + "p99": "295.47", + "min": "274.71", + "n": "152", + "description": "SStore - storing random 32-byte values in consecutive storage keys of many accounts" + }, + "SStoreOneAccountOneKeyConstantValue": { + "title": "SStore - one storage key, repeating constant value", + "max": "441.53", + "p50": "360.78", + "p95": "255.65", + "p99": "212.15", + "min": "211.74", + "n": "152", + "description": "SStore - repeating storing the same 32-byte word in single storage key of single account" + }, + "SStoreOneAccountOneKeyTwoValues": { + "title": "SStore - one storage key, repeating two values, zero and non-zero", + "max": "10668.03", + "p50": "1825.13", + "p95": "551.18", + "p99": "405.16", + "min": "329.44", + "n": "152", + "description": "SStore - repeating storing zero and then storing 32-byte word in single storage key of single account" + }, + "SStoreManyAccountsRandomKeysRandomValue": { + "title": "SStore - many accounts, random storage keys, random values", + "max": "3192.80", + "p50": "1220.13", + "p95": "399.85", + "p99": "336.79", + "min": "325.06", + "n": "152", + "description": "SStore - storing random 32-byte values in random storage keys of many accounts" + }, + "SStoreOneAccountOneKeyRandomValue": { + "title": "SStore - one storage key, repeating random values", + "max": "208.71", + "p50": "186.66", + "p95": "144.85", + "p99": "135.72", + "min": "135.52", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "232.69", + "p50": "209.97", + "p95": "156.87", + "p99": "132.38", + "min": "131.87", + "n": "128", + "description": "Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract)" + }, + "Address": { + "title": "Address", + "max": "131.70", + "p50": "123.72", + "p95": "108.44", + "p99": "99.05", + "min": "97.72", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "210.19", + "p50": "188.87", + "p95": "154.60", + "p99": "101.81", + "min": "83.86", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "141.27", + "p50": "132.73", + "p95": "113.24", + "p99": "101.91", + "min": "100.53", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "178.42", + "p50": "162.76", + "p95": "128.12", + "p99": "96.82", + "min": "82.83", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "182.97", + "p50": "168.55", + "p95": "140.28", + "p99": "122.05", + "min": "120.49", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "184.25", + "p50": "169.01", + "p95": "134.97", + "p99": "111.16", + "min": "108.87", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "274.79", + "p50": "220.51", + "p95": "131.55", + "p99": "124.36", + "min": "114.75", + "n": "93", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "145.64", + "p50": "135.38", + "p95": "108.47", + "p99": "113.36", + "min": "101.42", + "n": "72", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "besu": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "88.20", + "p50": "84.04", + "p95": "77.52", + "p99": "73.59", + "min": "73.53", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "89.57", + "p50": "84.91", + "p95": "80.68", + "p99": "79.47", + "min": "79.30", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "88.98", + "p50": "84.62", + "p95": "80.26", + "p99": "78.09", + "min": "77.83", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "192.52", + "p50": "182.22", + "p95": "171.24", + "p99": "154.24", + "min": "152.63", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "91.30", + "p50": "89.48", + "p95": "86.02", + "p99": "83.42", + "min": "83.10", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "111.11", + "p50": "107.54", + "p95": "104.98", + "p99": "99.57", + "min": "99.23", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "123.49", + "p50": "120.43", + "p95": "107.77", + "p99": "95.69", + "min": "94.33", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "123.21", + "p50": "121.05", + "p95": "115.82", + "p99": "110.74", + "min": "109.99", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "99.25", + "p50": "97.16", + "p95": "74.40", + "p99": "72.54", + "min": "72.39", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "96.94", + "p50": "95.60", + "p95": "93.94", + "p99": "92.12", + "min": "92.09", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "97.52", + "p50": "96.01", + "p95": "93.55", + "p99": "90.77", + "min": "90.51", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "127.07", + "p50": "122.62", + "p95": "120.05", + "p99": "117.36", + "min": "116.88", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "121.74", + "p50": "113.89", + "p95": "105.81", + "p99": "102.35", + "min": "102.12", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "114.72", + "p50": "113.09", + "p95": "108.81", + "p99": "106.03", + "min": "105.58", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "74.74", + "p50": "71.01", + "p95": "67.83", + "p99": "62.24", + "min": "62.19", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "93.00", + "p50": "91.50", + "p95": "87.85", + "p99": "87.17", + "min": "84.03", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "59.26", + "p50": "57.39", + "p95": "54.50", + "p99": "54.05", + "min": "52.83", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "150.21", + "p50": "119.16", + "p95": "112.02", + "p99": "128.21", + "min": "111.62", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "103.28", + "p50": "101.56", + "p95": "99.76", + "p99": "99.87", + "min": "97.30", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "377.79", + "p50": "364.75", + "p95": "345.28", + "p99": "310.95", + "min": "297.75", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "511.85", + "p50": "497.73", + "p95": "469.50", + "p99": "411.24", + "min": "371.93", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "372.69", + "p50": "361.88", + "p95": "338.92", + "p99": "312.79", + "min": "309.82", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "375.42", + "p50": "364.15", + "p95": "345.94", + "p99": "326.96", + "min": "321.51", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "377.31", + "p50": "366.44", + "p95": "353.82", + "p99": "320.20", + "min": "317.23", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "468.90", + "p50": "454.24", + "p95": "420.05", + "p99": "365.40", + "min": "361.17", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "96.76", + "p50": "93.51", + "p95": "90.82", + "p99": "89.38", + "min": "89.10", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "96.99", + "p50": "93.78", + "p95": "91.42", + "p99": "89.25", + "min": "89.19", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "96.03", + "p50": "92.99", + "p95": "90.35", + "p99": "89.75", + "min": "89.69", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "88.68", + "p50": "85.82", + "p95": "83.46", + "p99": "80.59", + "min": "80.12", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "86.85", + "p50": "86.01", + "p95": "85.36", + "p99": "81.76", + "min": "81.36", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "89.84", + "p50": "86.02", + "p95": "83.07", + "p99": "81.16", + "min": "80.89", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "86.11", + "p50": "82.31", + "p95": "79.58", + "p99": "77.87", + "min": "77.74", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "85.78", + "p50": "82.25", + "p95": "79.14", + "p99": "77.74", + "min": "77.65", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "85.70", + "p50": "81.92", + "p95": "78.64", + "p99": "76.50", + "min": "76.24", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "1260.03", + "p50": "1146.89", + "p95": "636.56", + "p99": "358.39", + "min": "322.96", + "n": "152", + "description": "EcMul precompile with initial point x = 1, y = 2 and scalar equal 2" + }, + "EcMul32ByteCoordinates2Scalar": { + "title": "EcMul with 32-byte coordinates and scalar 2", + "max": "1275.90", + "p50": "1159.34", + "p95": "669.97", + "p99": "544.00", + "min": "515.47", + "n": "152", + "description": "EcMul precompile with initial point with x and y as 32-byte values and scalar equal 2" + }, + "EcMul32ByteCoordinates32ByteScalar": { + "title": "EcMul with 32-byte coordinates and 32-byte scalar", + "max": "154.72", + "p50": "152.02", + "p95": "133.73", + "p99": "121.98", + "min": "121.42", + "n": "136", + "description": "EcMul precompile with initial point with x, y and scalar as 32-byte values" + }, + "EcMulInfinities2Scalar": { + "title": "EcMul with (0, 0) and scalar 2", + "max": "3006.52", + "p50": "2726.63", + "p95": "1117.97", + "p99": "786.27", + "min": "773.45", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2" + }, + "EcMul12And32ByteScalar": { + "title": "EcMul with (1, 2) and 32-byte scalar", + "max": "154.81", + "p50": "151.58", + "p95": "133.86", + "p99": "119.86", + "min": "118.39", + "n": "128", + "description": "EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values" + }, + "EcMulInfinities32ByteScalar": { + "title": "EcMul with (0, 0) and 32-byte scalar", + "max": "3006.27", + "p50": "2788.64", + "p95": "1082.21", + "p99": "765.68", + "min": "762.15", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "97.54", + "p50": "96.40", + "p95": "90.25", + "p99": "79.56", + "min": "77.63", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "185.94", + "p50": "183.63", + "p95": "178.40", + "p99": "173.96", + "min": "171.99", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "392.95", + "p50": "306.45", + "p95": "229.36", + "p99": "198.27", + "min": "191.03", + "n": "152", + "description": "SStore - repeating storing zero in single storage key of single account" + }, + "SStoreManyAccountsConsecutiveKeysRandomValue": { + "title": "SStore - many accounts, consecutive storage keys, random values", + "max": "6195.12", + "p50": "1769.33", + "p95": "809.11", + "p99": "521.62", + "min": "466.52", + "n": "152", + "description": "SStore - storing random 32-byte values in consecutive storage keys of many accounts" + }, + "SStoreOneAccountOneKeyConstantValue": { + "title": "SStore - one storage key, repeating constant value", + "max": "369.82", + "p50": "287.08", + "p95": "223.61", + "p99": "205.08", + "min": "200.47", + "n": "152", + "description": "SStore - repeating storing the same 32-byte word in single storage key of single account" + }, + "SStoreOneAccountOneKeyTwoValues": { + "title": "SStore - one storage key, repeating two values, zero and non-zero", + "max": "27224.97", + "p50": "9044.55", + "p95": "2178.71", + "p99": "1547.73", + "min": "1241.95", + "n": "152", + "description": "SStore - repeating storing zero and then storing 32-byte word in single storage key of single account" + }, + "SStoreManyAccountsRandomKeysRandomValue": { + "title": "SStore - many accounts, random storage keys, random values", + "max": "5030.66", + "p50": "2995.83", + "p95": "1189.02", + "p99": "862.10", + "min": "808.46", + "n": "152", + "description": "SStore - storing random 32-byte values in random storage keys of many accounts" + }, + "SStoreOneAccountOneKeyRandomValue": { + "title": "SStore - one storage key, repeating random values", + "max": "316.39", + "p50": "247.64", + "p95": "195.32", + "p99": "149.25", + "min": "144.20", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "151.14", + "p50": "134.06", + "p95": "119.81", + "p99": "111.50", + "min": "109.03", + "n": "128", + "description": "Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract)" + }, + "Address": { + "title": "Address", + "max": "122.61", + "p50": "118.40", + "p95": "95.33", + "p99": "90.24", + "min": "90.07", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "129.45", + "p50": "120.23", + "p95": "116.61", + "p99": "111.97", + "min": "111.45", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "123.08", + "p50": "119.07", + "p95": "115.22", + "p99": "110.09", + "min": "109.48", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "155.46", + "p50": "149.16", + "p95": "146.10", + "p99": "125.24", + "min": "113.16", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "97.26", + "p50": "93.33", + "p95": "89.83", + "p99": "87.05", + "min": "86.75", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "118.70", + "p50": "111.80", + "p95": "108.49", + "p99": "105.46", + "min": "105.36", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "949.97", + "p50": "886.87", + "p95": "649.62", + "p99": "623.39", + "min": "619.61", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "122.09", + "p50": "119.65", + "p95": "103.17", + "p99": "99.05", + "min": "99.02", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + } +} \ No newline at end of file diff --git a/gas/20240923.metadata.json b/gas/20240923.metadata.json new file mode 100644 index 0000000..c4436a3 --- /dev/null +++ b/gas/20240923.metadata.json @@ -0,0 +1,23 @@ +{ + "computer_specs": { + "Processor": "x86_64", + "System": "Linux", + "Release": "5.15.0-100-generic", + "Version": "#110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024", + "Machine": "x86_64", + "Processor Architecture": "64bit", + "RAM": "60.55 GB", + "CPU": "AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics", + "Numbers of CPU": "16", + "CPU GHz": "2383.6670625 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.28.0", + "geth": "ethereum/client-go:v1.14.9-amd64", + "reth": "ghcr.io/paradigmxyz/reth:v1.0.7", + "erigon": "thorax/erigon:2.60.8", + "besu": "hyperledger/besu:24.9.1" + } + } +} \ No newline at end of file diff --git a/genesis-data/20240923.json b/genesis-data/20240923.json new file mode 100644 index 0000000..a1b05d7 --- /dev/null +++ b/genesis-data/20240923.json @@ -0,0 +1,190 @@ +{ + "speed": { + "besu": { + "1000M": { + "second": { + "max": 757531, + "p50": 746258, + "p95": 757243, + "p99": 757473, + "min": 741234, + "count": 8 + }, + "first": { + "max": 757939, + "p50": 746006, + "p95": 756831, + "p99": 757717, + "min": 740762, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 287371, + "p50": 286853, + "p95": 287359, + "p99": 287368, + "min": 285668, + "count": 8 + }, + "second": { + "max": 1222, + "p50": 1088, + "p95": 1213, + "p99": 1220, + "min": 1033, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 465157, + "p50": -1, + "p95": 463803, + "p99": 464886, + "min": -1, + "count": 8 + }, + "second": { + "max": 584, + "p50": 581, + "p95": 583, + "p99": 583, + "min": 578, + "count": 2 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": 11432, + "p50": 10962, + "p95": 11425, + "p99": 11430, + "min": 10894, + "count": 8 + }, + "first": { + "max": 78826, + "p50": 78212, + "p95": 78676, + "p99": 78796, + "min": 77709, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "first": { + "max": -1, + "p50": -1, + "p95": -1, + "p99": -1, + "min": -1, + "count": 8 + } + } + } + }, + "memory": { + "besu": { + "1000M": { + "second": { + "max": 45312.0, + "p50": 45173.759999999995, + "p95": 45283.328, + "p99": 45306.2656, + "min": 45076.48, + "count": 8 + }, + "first": { + "max": 45291.52, + "p50": 45214.72, + "p95": 45273.6, + "p99": 45287.935999999994, + "min": 45158.4, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 28139.52, + "p50": 23582.72, + "p95": 28132.352, + "p99": 28138.0864, + "min": 23101.44, + "count": 8 + }, + "second": { + "max": 75.3, + "p50": 73.82, + "p95": 75.15299999999999, + "p99": 75.2706, + "min": 68.29, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 59473.92, + "p50": -1.0, + "p95": 38657.69799999997, + "p99": 55310.67559999998, + "min": -1.0, + "count": 8 + }, + "second": { + "max": 50.92, + "p50": 50.92, + "p95": 50.92, + "p99": 50.92, + "min": 50.92, + "count": 1 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": 3707.904, + "p50": 3686.4, + "p95": 3703.9616, + "p99": 3707.11552, + "min": 3641.344, + "count": 8 + }, + "first": { + "max": 15738.88, + "p50": 15605.76, + "p95": 15695.872, + "p99": 15730.2784, + "min": 15390.72, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "first": { + "max": -1.0, + "p50": -1.0, + "p95": -1.0, + "p99": -1.0, + "min": -1.0, + "count": 8 + } + } + } + } +} \ No newline at end of file diff --git a/genesis-data/20240923.memory.html b/genesis-data/20240923.memory.html new file mode 100644 index 0000000..e064d7f --- /dev/null +++ b/genesis-data/20240923.memory.html @@ -0,0 +1,441 @@ + + + + + + + Benchmarking Report + + + + +

+ Benchmarking Report +

+

+ Computer Specs +

+
Computer Specs:
+Processor: x86_64
+System: Linux
+Release: 5.15.0-100-generic
+Version: #110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024
+Machine: x86_64
+Processor Architecture: 64bit
+RAM: 60.55 GB
+CPU: AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics
+Numbers of CPU: 16
+CPU GHz: 2071.637 MHz
+

+ Besu - hyperledger/besu:24.9.1 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 44.23G + + 44.16G + + 44.21G + + 44.23G + + 44.10G + + 8 +
+ 1000M + + second + + 44.25G + + 44.11G + + 44.22G + + 44.24G + + 44.02G + + 8 +
+

+ Erigon - thorax/erigon:2.60.8 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 27.48G + + 23.03G + + 27.47G + + 27.48G + + 22.56G + + 8 +
+ 1000M + + second + + 0.07G + + 0.07G + + 0.07G + + 0.07G + + 0.07G + + 8 +
+

+ Geth - ethereum/client-go:v1.14.9-amd64 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 58.08G + + ∞ + + 37.75G + + 54.01G + + ∞ + + 8 +
+ 1000M + + second + + 0.05G + + 0.05G + + 0.05G + + 0.05G + + 0.05G + + 1 +
+

+ Reth - ghcr.io/paradigmxyz/reth:v1.0.7 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 15.37G + + 15.24G + + 15.33G + + 15.36G + + 15.03G + + 8 +
+ 1000M + + second + + 3.62G + + 3.60G + + 3.62G + + 3.62G + + 3.56G + + 8 +
+

+ Nethermind - nethermind/nethermind:1.28.0 +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + ∞ + + ∞ + + ∞ + + ∞ + + ∞ + + 8 +
+ + diff --git a/genesis-data/20240923.memory.json b/genesis-data/20240923.memory.json new file mode 100644 index 0000000..cd73d56 --- /dev/null +++ b/genesis-data/20240923.memory.json @@ -0,0 +1,94 @@ +{ + "besu": { + "1000M": { + "second": { + "max": 45312.0, + "p50": 45173.759999999995, + "p95": 45283.328, + "p99": 45306.2656, + "min": 45076.48, + "count": 8 + }, + "first": { + "max": 45291.52, + "p50": 45214.72, + "p95": 45273.6, + "p99": 45287.935999999994, + "min": 45158.4, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 28139.52, + "p50": 23582.72, + "p95": 28132.352, + "p99": 28138.0864, + "min": 23101.44, + "count": 8 + }, + "second": { + "max": 75.3, + "p50": 73.82, + "p95": 75.15299999999999, + "p99": 75.2706, + "min": 68.29, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 59473.92, + "p50": -1.0, + "p95": 38657.69799999997, + "p99": 55310.67559999998, + "min": -1.0, + "count": 8 + }, + "second": { + "max": 50.92, + "p50": 50.92, + "p95": 50.92, + "p99": 50.92, + "min": 50.92, + "count": 1 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": 3707.904, + "p50": 3686.4, + "p95": 3703.9616, + "p99": 3707.11552, + "min": 3641.344, + "count": 8 + }, + "first": { + "max": 15738.88, + "p50": 15605.76, + "p95": 15695.872, + "p99": 15730.2784, + "min": 15390.72, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "first": { + "max": -1.0, + "p50": -1.0, + "p95": -1.0, + "p99": -1.0, + "min": -1.0, + "count": 8 + } + } + } +} \ No newline at end of file diff --git a/genesis-data/20240923.metadata.json b/genesis-data/20240923.metadata.json new file mode 100644 index 0000000..2f4ba71 --- /dev/null +++ b/genesis-data/20240923.metadata.json @@ -0,0 +1,23 @@ +{ + "computer_specs": { + "Processor": "x86_64", + "System": "Linux", + "Release": "5.15.0-100-generic", + "Version": "#110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024", + "Machine": "x86_64", + "Processor Architecture": "64bit", + "RAM": "60.55 GB", + "CPU": "AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics", + "Numbers of CPU": "16", + "CPU GHz": "2071.637 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.28.0", + "geth": "ethereum/client-go:v1.14.9-amd64", + "reth": "ghcr.io/paradigmxyz/reth:v1.0.7", + "erigon": "thorax/erigon:2.60.8", + "besu": "hyperledger/besu:24.9.1" + } + } +} \ No newline at end of file diff --git a/genesis-data/20240923.speed.html b/genesis-data/20240923.speed.html new file mode 100644 index 0000000..a027a5a --- /dev/null +++ b/genesis-data/20240923.speed.html @@ -0,0 +1,441 @@ + + + + + + + Benchmarking Report + + + + +

+ Benchmarking Report +

+

+ Computer Specs +

+
Computer Specs:
+Processor: x86_64
+System: Linux
+Release: 5.15.0-100-generic
+Version: #110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024
+Machine: x86_64
+Processor Architecture: 64bit
+RAM: 60.55 GB
+CPU: AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics
+Numbers of CPU: 16
+CPU GHz: 2199.6939375 MHz
+

+ Besu - hyperledger/besu:24.9.1 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 12min37s + + 12min26s + + 12min36s + + 12min37s + + 12min20s + + 8 +
+ 1000M + + second + + 12min37s + + 12min26s + + 12min37s + + 12min37s + + 12min21s + + 8 +
+

+ Erigon - thorax/erigon:2.60.8 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 4min47s + + 4min46s + + 4min47s + + 4min47s + + 4min45s + + 8 +
+ 1000M + + second + + 1s + + 1s + + 1s + + 1s + + 1s + + 8 +
+

+ Geth - ethereum/client-go:v1.14.9-amd64 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 7min45s + + ∞ + + 7min43s + + 7min44s + + ∞ + + 8 +
+ 1000M + + second + + 584ms + + 581ms + + 583ms + + 583ms + + 578ms + + 2 +
+

+ Reth - ghcr.io/paradigmxyz/reth:v1.0.7 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 1min18s + + 1min18s + + 1min18s + + 1min18s + + 1min17s + + 8 +
+ 1000M + + second + + 11s + + 10s + + 11s + + 11s + + 10s + + 8 +
+

+ Nethermind - nethermind/nethermind:1.28.0 +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + ∞ + + ∞ + + ∞ + + ∞ + + ∞ + + 8 +
+ + diff --git a/genesis-data/20240923.speed.json b/genesis-data/20240923.speed.json new file mode 100644 index 0000000..aae60b9 --- /dev/null +++ b/genesis-data/20240923.speed.json @@ -0,0 +1,94 @@ +{ + "besu": { + "1000M": { + "second": { + "max": 757531, + "p50": 746258, + "p95": 757243, + "p99": 757473, + "min": 741234, + "count": 8 + }, + "first": { + "max": 757939, + "p50": 746006, + "p95": 756831, + "p99": 757717, + "min": 740762, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 287371, + "p50": 286853, + "p95": 287359, + "p99": 287368, + "min": 285668, + "count": 8 + }, + "second": { + "max": 1222, + "p50": 1088, + "p95": 1213, + "p99": 1220, + "min": 1033, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 465157, + "p50": -1, + "p95": 463803, + "p99": 464886, + "min": -1, + "count": 8 + }, + "second": { + "max": 584, + "p50": 581, + "p95": 583, + "p99": 583, + "min": 578, + "count": 2 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": 11432, + "p50": 10962, + "p95": 11425, + "p99": 11430, + "min": 10894, + "count": 8 + }, + "first": { + "max": 78826, + "p50": 78212, + "p95": 78676, + "p99": 78796, + "min": 77709, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "first": { + "max": -1, + "p50": -1, + "p95": -1, + "p99": -1, + "min": -1, + "count": 8 + } + } + } +} \ No newline at end of file