diff --git a/burntpix/20240907.html b/burntpix/20240907.html new file mode 100644 index 0000000..3ba6e86 --- /dev/null +++ b/burntpix/20240907.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: 1979.7348125 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 + + 44752.56 + + 451.56 + + 275.25 + + 12267.32 + + 252.23 + + 72 + + Burnt Pix By Geth Developer +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 7507.71 + + 298.13 + + 285.38 + + 2233.81 + + 283.19 + + 72 + + Burnt Pix By Geth Developer +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 101400.00 + + 1382.81 + + 1194.25 + + 28240.44 + + 1181.43 + + 72 + + Burnt Pix By Geth Developer +
+

+ Erigon - thorax/erigon:2.60.6-amd64 - Benchmarking Report +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 4395.45 + + 287.22 + + 261.62 + + 1363.34 + + 241.87 + + 72 + + Burnt Pix By Geth Developer +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 21041.09 + + 95.96 + + 88.45 + + 5743.07 + + 84.89 + + 72 + + Burnt Pix By Geth Developer +
+ + + diff --git a/burntpix/20240907.json b/burntpix/20240907.json new file mode 100644 index 0000000..e9fc58e --- /dev/null +++ b/burntpix/20240907.json @@ -0,0 +1,62 @@ +{ + "nethermind": { + "Burnt": { + "title": "Burnt Pix", + "max": "44752.56", + "p50": "451.56", + "p95": "275.25", + "p99": "12267.32", + "min": "252.23", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "geth": { + "Burnt": { + "title": "Burnt Pix", + "max": "7507.71", + "p50": "298.13", + "p95": "285.38", + "p99": "2233.81", + "min": "283.19", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "reth": { + "Burnt": { + "title": "Burnt Pix", + "max": "101400.00", + "p50": "1382.81", + "p95": "1194.25", + "p99": "28240.44", + "min": "1181.43", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "erigon": { + "Burnt": { + "title": "Burnt Pix", + "max": "4395.45", + "p50": "287.22", + "p95": "261.62", + "p99": "1363.34", + "min": "241.87", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "besu": { + "Burnt": { + "title": "Burnt Pix", + "max": "21041.09", + "p50": "95.96", + "p95": "88.45", + "p99": "5743.07", + "min": "84.89", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + } +} \ No newline at end of file diff --git a/burntpix/20240907.metadata.json b/burntpix/20240907.metadata.json new file mode 100644 index 0000000..292e0e5 --- /dev/null +++ b/burntpix/20240907.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": "1979.7348125 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.28.0", + "geth": "ethereum/client-go:v1.14.8", + "reth": "ghcr.io/paradigmxyz/reth:v1.0.6", + "erigon": "thorax/erigon:2.60.6-amd64", + "besu": "hyperledger/besu:24.8.0" + } + } +} \ No newline at end of file diff --git a/gas/20240907.html b/gas/20240907.html new file mode 100644 index 0000000..9ef37c6 --- /dev/null +++ b/gas/20240907.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: 2143.05075 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 + + 170.19 + + 168.16 + + 157.65 + + 150.00 + + 149.41 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 170.71 + + 168.42 + + 166.70 + + 165.08 + + 164.85 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 170.43 + + 167.85 + + 163.90 + + 162.78 + + 162.71 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 755.04 + + 744.32 + + 509.62 + + 458.17 + + 455.39 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 401.40 + + 393.75 + + 383.94 + + 370.61 + + 369.19 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 437.66 + + 428.71 + + 418.19 + + 351.82 + + 327.06 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 324.69 + + 316.10 + + 298.91 + + 291.58 + + 290.68 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 186.65 + + 184.44 + + 179.65 + + 169.67 + + 167.35 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 264.85 + + 258.58 + + 241.07 + + 231.02 + + 228.95 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 257.54 + + 253.92 + + 243.80 + + 233.55 + + 232.47 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 260.27 + + 257.01 + + 244.00 + + 243.26 + + 243.24 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 191.22 + + 188.04 + + 183.48 + + 181.14 + + 181.10 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 320.28 + + 316.73 + + 303.22 + + 301.19 + + 300.99 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 309.39 + + 303.04 + + 283.22 + + 258.32 + + 253.12 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 7754.66 + + 5876.99 + + 2360.51 + + 1988.36 + + 1978.20 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 2534.83 + + 2142.86 + + 1086.03 + + 1536.62 + + 999.12 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 295.32 + + 244.70 + + 225.40 + + 236.33 + + 222.50 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 8216.67 + + 4269.74 + + 1094.81 + + 4145.32 + + 1073.96 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 8108.20 + + 4582.16 + + 2339.56 + + 4464.35 + + 1715.48 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1829.82 + + 1656.77 + + 572.66 + + 451.59 + + 344.86 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 19845.27 + + 4658.63 + + 795.72 + + 755.62 + + 754.85 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 1312.20 + + 1187.04 + + 502.73 + + 417.98 + + 361.83 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 2142.79 + + 1983.29 + + 1647.04 + + 675.22 + + 592.11 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 2169.10 + + 1994.73 + + 751.68 + + 337.49 + + 287.81 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 6223.69 + + 5399.12 + + 776.66 + + 730.78 + + 728.18 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 300.29 + + 262.30 + + 145.05 + + 140.75 + + 140.40 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 497.47 + + 456.79 + + 389.75 + + 371.99 + + 370.77 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 342.53 + + 299.99 + + 58.33 + + 56.09 + + 55.99 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 424.00 + + 390.36 + + 88.92 + + 58.73 + + 54.97 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 37800.60 + + 8603.33 + + 2528.48 + + 767.99 + + 278.12 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 372.47 + + 352.97 + + 301.23 + + 275.74 + + 271.78 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 355.08 + + 337.35 + + 281.75 + + 167.48 + + 137.89 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 354.69 + + 338.41 + + 286.48 + + 279.24 + + 278.81 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 360.26 + + 337.39 + + 284.82 + + 113.37 + + 69.42 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 15014.94 + + 7580.11 + + 2518.32 + + 1597.12 + + 1461.32 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 15398.14 + + 8385.51 + + 2562.23 + + 1585.60 + + 1571.11 + + 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 + + 14661.88 + + 6405.67 + + 2164.55 + + 782.31 + + 366.97 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 15158.84 + + 6442.38 + + 2621.42 + + 1697.80 + + 1478.09 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 14509.17 + + 6558.66 + + 2744.81 + + 1852.19 + + 1718.33 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 15059.21 + + 7741.84 + + 2506.57 + + 1049.46 + + 50.60 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 257.31 + + 253.78 + + 246.35 + + 240.40 + + 239.44 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 538.56 + + 530.66 + + 516.50 + + 485.28 + + 484.46 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 1184.07 + + 1128.83 + + 375.99 + + 346.12 + + 342.48 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 20357.51 + + 9048.13 + + 2436.15 + + 1425.92 + + 1331.51 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 1094.52 + + 1049.74 + + 346.47 + + 325.39 + + 319.15 + + 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 + + 47749.06 + + 9097.27 + + 2220.94 + + 1774.44 + + 1770.12 + + 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 + + 16717.17 + + 7153.68 + + 2577.16 + + 1682.00 + + 1662.59 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 523.46 + + 497.27 + + 421.23 + + 179.86 + + 110.73 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 518.16 + + 508.38 + + 496.21 + + 480.50 + + 479.79 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 204.14 + + 202.43 + + 195.10 + + 185.62 + + 182.98 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 434.72 + + 426.54 + + 401.37 + + 392.99 + + 390.53 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 205.42 + + 202.28 + + 200.09 + + 197.08 + + 197.08 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 332.80 + + 322.75 + + 303.89 + + 204.69 + + 184.49 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 272.44 + + 267.54 + + 253.43 + + 250.81 + + 250.47 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 519.11 + + 508.32 + + 490.36 + + 427.70 + + 420.44 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 1478.25 + + 1188.73 + + 881.56 + + 783.43 + + 764.56 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 317.80 + + 314.65 + + 306.00 + + 300.34 + + 299.34 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Geth - ethereum/client-go:v1.14.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 + + 88.49 + + 85.22 + + 76.69 + + 76.30 + + 76.28 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 80.83 + + 78.22 + + 71.87 + + 70.78 + + 70.70 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 82.56 + + 79.49 + + 72.96 + + 68.66 + + 68.46 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 226.21 + + 209.44 + + 178.96 + + 161.11 + + 160.40 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 176.21 + + 162.69 + + 138.82 + + 120.38 + + 116.95 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 181.17 + + 169.36 + + 151.46 + + 117.49 + + 108.39 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 171.42 + + 157.26 + + 135.99 + + 131.29 + + 131.26 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 167.53 + + 156.79 + + 137.17 + + 125.65 + + 123.76 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 192.21 + + 177.20 + + 153.13 + + 145.89 + + 145.64 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 173.94 + + 160.04 + + 137.24 + + 132.36 + + 132.11 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 192.59 + + 179.43 + + 150.24 + + 134.09 + + 131.70 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 140.66 + + 132.16 + + 113.34 + + 103.71 + + 101.81 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 219.40 + + 202.02 + + 168.78 + + 158.82 + + 158.69 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 172.39 + + 159.97 + + 134.95 + + 124.63 + + 124.09 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 68.17 + + 65.01 + + 60.51 + + 56.75 + + 55.95 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 139.61 + + 128.52 + + 112.59 + + 119.45 + + 108.60 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 395.15 + + 310.95 + + 226.20 + + 235.33 + + 197.84 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 169.66 + + 140.44 + + 133.53 + + 148.95 + + 133.33 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 131.37 + + 120.95 + + 112.70 + + 120.24 + + 111.84 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1169.68 + + 878.48 + + 517.54 + + 348.00 + + 265.62 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1028.43 + + 822.65 + + 467.26 + + 418.63 + + 415.21 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 1319.69 + + 1018.46 + + 524.64 + + 461.75 + + 460.82 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 1249.26 + + 944.18 + + 532.01 + + 455.82 + + 450.20 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 1228.88 + + 921.30 + + 523.99 + + 415.28 + + 408.05 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1063.06 + + 839.36 + + 530.73 + + 426.58 + + 412.94 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 656.20 + + 517.92 + + 364.10 + + 240.94 + + 228.16 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 660.83 + + 522.83 + + 382.09 + + 350.53 + + 349.71 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 627.09 + + 506.37 + + 366.07 + + 319.20 + + 313.81 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 666.34 + + 527.07 + + 349.22 + + 285.46 + + 279.78 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 289.84 + + 262.45 + + 205.60 + + 195.47 + + 195.41 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 550.61 + + 433.81 + + 313.16 + + 263.17 + + 262.59 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 566.83 + + 447.73 + + 312.16 + + 236.77 + + 225.76 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 541.52 + + 447.50 + + 338.88 + + 277.73 + + 268.11 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 573.29 + + 460.19 + + 325.14 + + 291.18 + + 290.66 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 106.53 + + 102.06 + + 92.75 + + 88.75 + + 88.57 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 106.57 + + 102.21 + + 91.71 + + 86.80 + + 84.42 + + 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 + + 99.25 + + 95.20 + + 86.33 + + 83.05 + + 82.86 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 253.72 + + 235.79 + + 191.49 + + 167.13 + + 160.33 + + 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.83 + + 94.44 + + 86.04 + + 83.06 + + 82.78 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 246.67 + + 225.30 + + 185.53 + + 171.81 + + 171.38 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 195.92 + + 179.07 + + 153.13 + + 120.66 + + 116.25 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 199.12 + + 185.82 + + 151.78 + + 114.67 + + 88.21 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 354.70 + + 312.90 + + 248.03 + + 220.21 + + 219.52 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 5322.66 + + 2225.77 + + 925.62 + + 579.27 + + 544.67 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 341.80 + + 307.10 + + 249.13 + + 201.49 + + 182.94 + + 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 + + 14935.82 + + 3508.49 + + 1321.87 + + 784.02 + + 719.28 + + 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 + + 3103.96 + + 1794.09 + + 816.53 + + 687.80 + + 687.17 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 180.06 + + 166.06 + + 132.78 + + 124.80 + + 122.65 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 247.08 + + 227.93 + + 189.46 + + 173.26 + + 173.13 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 91.08 + + 87.75 + + 79.77 + + 77.08 + + 77.03 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 222.35 + + 206.60 + + 174.75 + + 159.83 + + 159.83 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 170.18 + + 159.36 + + 133.46 + + 127.87 + + 127.04 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 201.38 + + 185.91 + + 159.89 + + 149.75 + + 148.30 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 194.23 + + 179.00 + + 151.37 + + 135.34 + + 134.73 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 195.62 + + 182.10 + + 154.06 + + 130.66 + + 126.46 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 1106.93 + + 876.02 + + 564.59 + + 512.96 + + 507.37 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 173.28 + + 164.26 + + 122.17 + + 112.26 + + 110.76 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 193.87 + + 188.78 + + 171.67 + + 156.50 + + 155.52 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 194.32 + + 188.16 + + 169.05 + + 160.72 + + 160.60 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 195.06 + + 188.81 + + 173.47 + + 162.03 + + 160.41 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 1186.27 + + 1086.12 + + 689.26 + + 529.39 + + 521.33 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 699.69 + + 632.33 + + 485.84 + + 404.40 + + 404.32 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 811.93 + + 727.41 + + 538.40 + + 470.29 + + 463.55 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 722.57 + + 664.93 + + 479.56 + + 410.07 + + 399.35 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 731.18 + + 668.43 + + 496.82 + + 407.37 + + 406.32 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 893.45 + + 819.74 + + 546.32 + + 463.02 + + 461.84 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 831.81 + + 743.71 + + 508.72 + + 446.28 + + 440.43 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 848.09 + + 733.35 + + 561.25 + + 451.39 + + 449.96 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 819.90 + + 719.82 + + 547.15 + + 440.83 + + 439.81 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 882.36 + + 790.74 + + 553.95 + + 485.11 + + 467.79 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 858.86 + + 751.04 + + 501.89 + + 458.25 + + 454.02 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 64.40 + + 62.53 + + 60.41 + + 58.70 + + 58.39 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 97.26 + + 95.08 + + 64.78 + + 75.72 + + 64.12 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 483.65 + + 442.79 + + 356.58 + + 366.70 + + 339.27 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 132.06 + + 101.89 + + 68.53 + + 94.73 + + 66.57 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 91.41 + + 86.98 + + 59.51 + + 72.53 + + 58.29 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1792.05 + + 1564.30 + + 902.71 + + 676.49 + + 601.23 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1639.88 + + 1408.95 + + 853.21 + + 612.67 + + 607.13 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 2251.55 + + 1791.07 + + 926.73 + + 697.79 + + 690.89 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 2224.97 + + 1774.85 + + 965.03 + + 675.16 + + 663.60 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 2206.32 + + 1631.98 + + 821.33 + + 684.15 + + 683.40 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1679.26 + + 1481.18 + + 914.43 + + 625.08 + + 613.90 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 707.18 + + 620.68 + + 474.69 + + 408.57 + + 408.56 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 710.68 + + 624.33 + + 487.88 + + 408.49 + + 407.53 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 723.33 + + 626.95 + + 491.85 + + 438.92 + + 431.39 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 728.99 + + 637.83 + + 471.64 + + 439.14 + + 436.49 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 86.71 + + 85.60 + + 81.57 + + 79.37 + + 79.26 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 633.87 + + 563.09 + + 418.38 + + 383.34 + + 383.20 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 599.59 + + 540.43 + + 414.68 + + 372.70 + + 370.00 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 600.05 + + 539.59 + + 431.90 + + 376.35 + + 371.02 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 609.22 + + 553.92 + + 465.13 + + 379.38 + + 372.35 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 1920.53 + + 1686.21 + + 873.68 + + 635.17 + + 622.16 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 2201.77 + + 1877.73 + + 916.25 + + 702.11 + + 671.55 + + 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.81 + + 72.06 + + 69.50 + + 67.26 + + 67.11 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 9330.10 + + 4245.40 + + 2421.38 + + 1766.72 + + 1734.95 + + 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.89 + + 71.84 + + 69.33 + + 67.93 + + 67.66 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 221.86 + + 217.12 + + 197.71 + + 180.82 + + 180.62 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 829.14 + + 741.56 + + 514.53 + + 434.80 + + 431.83 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 670.50 + + 620.75 + + 472.73 + + 390.15 + + 385.00 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 1065.72 + + 988.44 + + 694.54 + + 579.43 + + 574.57 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 27053.96 + + 8785.19 + + 2688.52 + + 2068.53 + + 1808.35 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 1067.10 + + 993.74 + + 671.27 + + 569.73 + + 537.13 + + 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 + + 53045.07 + + 9587.60 + + 2762.16 + + 1890.87 + + 1605.41 + + 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 + + 15947.55 + + 6261.57 + + 1531.81 + + 1009.73 + + 1004.96 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 555.16 + + 488.68 + + 409.45 + + 330.39 + + 329.41 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 978.34 + + 894.44 + + 564.26 + + 483.23 + + 475.33 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 817.14 + + 741.31 + + 537.98 + + 463.90 + + 457.04 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 1201.91 + + 1079.32 + + 694.42 + + 590.67 + + 570.03 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 732.69 + + 674.35 + + 512.70 + + 440.42 + + 435.54 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 1156.00 + + 994.85 + + 671.36 + + 524.19 + + 519.71 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 873.55 + + 764.65 + + 573.52 + + 458.83 + + 455.69 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 907.81 + + 803.85 + + 617.15 + + 477.84 + + 469.79 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 2363.22 + + 1980.98 + + 1066.22 + + 968.96 + + 964.03 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 852.26 + + 801.22 + + 522.00 + + 445.62 + + 443.41 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Erigon - thorax/erigon:2.60.6-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 + + 81.71 + + 79.18 + + 73.21 + + 68.55 + + 68.40 + + 112 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 75.26 + + 72.92 + + 65.59 + + 62.45 + + 62.22 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 76.59 + + 74.29 + + 67.66 + + 63.78 + + 63.52 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 211.74 + + 197.25 + + 158.37 + + 136.58 + + 131.75 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 104.17 + + 100.00 + + 89.50 + + 84.98 + + 84.62 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 109.97 + + 104.82 + + 94.49 + + 86.72 + + 86.29 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 142.57 + + 133.67 + + 114.36 + + 106.81 + + 105.41 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 142.20 + + 134.11 + + 112.11 + + 73.04 + + 64.58 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 188.62 + + 174.08 + + 141.40 + + 127.25 + + 126.76 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 184.80 + + 172.35 + + 141.08 + + 127.38 + + 126.62 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 185.82 + + 172.97 + + 147.91 + + 123.66 + + 122.09 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 128.31 + + 121.33 + + 104.68 + + 95.00 + + 94.92 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 205.39 + + 189.50 + + 156.12 + + 138.06 + + 137.17 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 192.00 + + 176.13 + + 139.96 + + 123.82 + + 122.27 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 72.73 + + 69.05 + + 63.02 + + 60.37 + + 59.37 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 133.80 + + 124.98 + + 105.35 + + 114.22 + + 103.67 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 216.33 + + 192.05 + + 151.34 + + 154.34 + + 139.80 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 162.60 + + 139.03 + + 133.02 + + 144.51 + + 130.87 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 128.81 + + 120.26 + + 107.02 + + 112.63 + + 100.43 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1042.36 + + 757.61 + + 427.72 + + 367.62 + + 367.35 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1029.02 + + 735.88 + + 385.54 + + 297.62 + + 289.71 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 1156.46 + + 830.37 + + 447.44 + + 357.65 + + 306.36 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 1095.70 + + 770.78 + + 435.33 + + 324.97 + + 323.62 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 1035.58 + + 747.18 + + 438.69 + + 395.39 + + 388.97 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1030.76 + + 771.08 + + 424.73 + + 318.15 + + 311.76 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 344.75 + + 293.83 + + 210.99 + + 186.59 + + 183.95 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 344.26 + + 295.88 + + 228.65 + + 193.46 + + 192.43 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 338.01 + + 299.19 + + 215.60 + + 202.17 + + 200.80 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 372.47 + + 314.72 + + 218.26 + + 200.60 + + 198.10 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 288.10 + + 256.85 + + 204.30 + + 169.09 + + 167.88 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 296.65 + + 264.79 + + 210.43 + + 175.90 + + 171.73 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 295.80 + + 262.32 + + 197.17 + + 171.47 + + 168.89 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 307.91 + + 267.86 + + 201.90 + + 177.67 + + 177.07 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 298.68 + + 262.46 + + 202.21 + + 168.42 + + 164.99 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 105.98 + + 100.94 + + 91.57 + + 84.12 + + 83.56 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 105.53 + + 100.90 + + 90.21 + + 83.40 + + 82.04 + + 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.95 + + 94.30 + + 86.15 + + 81.83 + + 81.26 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 249.15 + + 228.53 + + 176.96 + + 150.50 + + 150.46 + + 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.02 + + 93.83 + + 85.99 + + 81.41 + + 81.17 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 244.50 + + 223.89 + + 167.09 + + 156.41 + + 156.23 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 188.75 + + 174.86 + + 136.40 + + 129.60 + + 129.51 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 155.12 + + 145.21 + + 125.82 + + 94.17 + + 83.08 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 442.92 + + 374.46 + + 257.14 + + 211.46 + + 211.00 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 5286.87 + + 1916.71 + + 535.67 + + 450.13 + + 409.20 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 440.04 + + 373.69 + + 268.77 + + 233.32 + + 232.24 + + 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 + + 12034.25 + + 2661.91 + + 902.04 + + 614.54 + + 555.29 + + 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 + + 3185.75 + + 1273.97 + + 466.80 + + 427.03 + + 412.19 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 206.96 + + 190.97 + + 154.77 + + 133.30 + + 126.75 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 235.62 + + 213.33 + + 173.34 + + 155.22 + + 154.33 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 129.19 + + 121.97 + + 107.79 + + 91.14 + + 87.48 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 210.16 + + 192.41 + + 146.05 + + 104.92 + + 82.84 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 141.55 + + 134.81 + + 113.33 + + 100.70 + + 98.58 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 174.94 + + 162.08 + + 130.05 + + 106.58 + + 98.76 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 187.42 + + 173.54 + + 140.22 + + 93.65 + + 84.70 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 186.71 + + 171.44 + + 139.91 + + 130.47 + + 129.69 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 298.97 + + 241.59 + + 147.21 + + 146.94 + + 138.93 + + 94 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 144.25 + + 136.83 + + 111.06 + + 107.41 + + 96.41 + + 76 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Besu - hyperledger/besu:24.8.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 + + 88.19 + + 85.91 + + 78.91 + + 75.37 + + 75.00 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 89.35 + + 87.08 + + 82.28 + + 80.67 + + 80.66 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 88.98 + + 86.35 + + 80.33 + + 79.03 + + 78.96 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 191.89 + + 182.53 + + 176.89 + + 146.51 + + 142.51 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 93.94 + + 89.25 + + 85.90 + + 84.29 + + 84.25 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 110.90 + + 107.33 + + 104.86 + + 99.49 + + 98.44 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 124.59 + + 120.90 + + 108.38 + + 99.76 + + 99.71 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 125.11 + + 121.82 + + 117.50 + + 114.18 + + 114.09 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 98.91 + + 96.69 + + 77.03 + + 74.40 + + 73.57 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 98.01 + + 95.53 + + 93.41 + + 92.33 + + 92.23 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 98.33 + + 95.67 + + 93.53 + + 88.79 + + 88.01 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 127.95 + + 123.04 + + 116.87 + + 114.50 + + 114.40 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 122.90 + + 113.96 + + 109.29 + + 103.31 + + 103.07 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 115.79 + + 113.18 + + 109.01 + + 103.01 + + 103.00 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 75.20 + + 71.60 + + 67.29 + + 61.48 + + 60.65 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 98.01 + + 96.71 + + 91.40 + + 93.05 + + 90.37 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 58.14 + + 56.70 + + 55.04 + + 54.53 + + 53.68 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 158.43 + + 127.01 + + 119.11 + + 134.29 + + 116.08 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 110.00 + + 107.78 + + 103.89 + + 106.26 + + 103.44 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 374.09 + + 362.41 + + 344.54 + + 308.17 + + 301.09 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 509.51 + + 496.85 + + 456.14 + + 368.08 + + 358.46 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 367.42 + + 355.68 + + 342.57 + + 292.57 + + 278.62 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 370.36 + + 357.19 + + 338.99 + + 267.41 + + 267.24 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 372.79 + + 358.60 + + 347.06 + + 302.75 + + 285.63 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 465.95 + + 455.03 + + 429.47 + + 388.38 + + 385.23 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 94.66 + + 91.68 + + 89.88 + + 87.71 + + 87.51 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 95.91 + + 92.16 + + 89.90 + + 88.08 + + 88.04 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 94.53 + + 91.09 + + 88.99 + + 86.91 + + 86.71 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 87.21 + + 84.76 + + 83.36 + + 78.62 + + 78.01 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 87.00 + + 86.00 + + 85.46 + + 83.08 + + 82.52 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 87.64 + + 84.74 + + 82.48 + + 79.91 + + 79.60 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 83.68 + + 80.52 + + 78.82 + + 71.61 + + 70.43 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 83.60 + + 80.31 + + 77.56 + + 73.91 + + 73.12 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 83.35 + + 80.43 + + 78.23 + + 77.11 + + 77.10 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 370.67 + + 358.57 + + 268.54 + + 222.10 + + 191.19 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 372.08 + + 357.38 + + 304.54 + + 201.62 + + 155.94 + + 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 + + 155.26 + + 151.87 + + 133.27 + + 118.21 + + 113.47 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 475.73 + + 452.34 + + 339.38 + + 271.52 + + 220.14 + + 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.42 + + 151.81 + + 133.96 + + 104.21 + + 98.62 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 276.03 + + 267.62 + + 226.94 + + 183.48 + + 168.19 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 98.46 + + 96.13 + + 87.69 + + 78.95 + + 78.49 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 185.81 + + 183.20 + + 178.87 + + 165.09 + + 163.71 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 402.28 + + 306.18 + + 219.25 + + 195.54 + + 195.20 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 7273.89 + + 2126.65 + + 843.99 + + 541.67 + + 442.39 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 379.04 + + 297.28 + + 246.59 + + 209.03 + + 206.16 + + 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 + + 28502.73 + + 9758.87 + + 2646.69 + + 1959.59 + + 1947.07 + + 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 + + 4512.66 + + 3092.22 + + 1442.12 + + 1032.72 + + 989.30 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 323.58 + + 260.25 + + 197.62 + + 158.08 + + 152.24 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 150.27 + + 132.86 + + 113.97 + + 107.55 + + 106.16 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 123.66 + + 118.91 + + 96.93 + + 93.27 + + 92.86 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 129.45 + + 121.01 + + 103.22 + + 100.67 + + 100.20 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 123.64 + + 118.70 + + 115.25 + + 111.04 + + 110.52 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 155.90 + + 149.43 + + 145.43 + + 141.84 + + 141.69 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 95.98 + + 92.68 + + 74.56 + + 71.91 + + 71.31 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 119.17 + + 113.22 + + 110.42 + + 108.84 + + 108.41 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 937.00 + + 871.96 + + 648.22 + + 554.35 + + 538.31 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 121.45 + + 119.51 + + 102.25 + + 95.08 + + 94.39 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+ + + diff --git a/gas/20240907.json b/gas/20240907.json new file mode 100644 index 0000000..d2d6702 --- /dev/null +++ b/gas/20240907.json @@ -0,0 +1,2862 @@ +{ + "nethermind": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "170.19", + "p50": "168.16", + "p95": "157.65", + "p99": "150.00", + "min": "149.41", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "170.71", + "p50": "168.42", + "p95": "166.70", + "p99": "165.08", + "min": "164.85", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "170.43", + "p50": "167.85", + "p95": "163.90", + "p99": "162.78", + "min": "162.71", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "755.04", + "p50": "744.32", + "p95": "509.62", + "p99": "458.17", + "min": "455.39", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "401.40", + "p50": "393.75", + "p95": "383.94", + "p99": "370.61", + "min": "369.19", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "437.66", + "p50": "428.71", + "p95": "418.19", + "p99": "351.82", + "min": "327.06", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "324.69", + "p50": "316.10", + "p95": "298.91", + "p99": "291.58", + "min": "290.68", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "186.65", + "p50": "184.44", + "p95": "179.65", + "p99": "169.67", + "min": "167.35", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "264.85", + "p50": "258.58", + "p95": "241.07", + "p99": "231.02", + "min": "228.95", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "257.54", + "p50": "253.92", + "p95": "243.80", + "p99": "233.55", + "min": "232.47", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "260.27", + "p50": "257.01", + "p95": "244.00", + "p99": "243.26", + "min": "243.24", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "191.22", + "p50": "188.04", + "p95": "183.48", + "p99": "181.14", + "min": "181.10", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "320.28", + "p50": "316.73", + "p95": "303.22", + "p99": "301.19", + "min": "300.99", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "309.39", + "p50": "303.04", + "p95": "283.22", + "p99": "258.32", + "min": "253.12", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "7754.66", + "p50": "5876.99", + "p95": "2360.51", + "p99": "1988.36", + "min": "1978.20", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "2534.83", + "p50": "2142.86", + "p95": "1086.03", + "p99": "1536.62", + "min": "999.12", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "295.32", + "p50": "244.70", + "p95": "225.40", + "p99": "236.33", + "min": "222.50", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "8216.67", + "p50": "4269.74", + "p95": "1094.81", + "p99": "4145.32", + "min": "1073.96", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "8108.20", + "p50": "4582.16", + "p95": "2339.56", + "p99": "4464.35", + "min": "1715.48", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1829.82", + "p50": "1656.77", + "p95": "572.66", + "p99": "451.59", + "min": "344.86", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "19845.27", + "p50": "4658.63", + "p95": "795.72", + "p99": "755.62", + "min": "754.85", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "1312.20", + "p50": "1187.04", + "p95": "502.73", + "p99": "417.98", + "min": "361.83", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "2142.79", + "p50": "1983.29", + "p95": "1647.04", + "p99": "675.22", + "min": "592.11", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "2169.10", + "p50": "1994.73", + "p95": "751.68", + "p99": "337.49", + "min": "287.81", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "6223.69", + "p50": "5399.12", + "p95": "776.66", + "p99": "730.78", + "min": "728.18", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "300.29", + "p50": "262.30", + "p95": "145.05", + "p99": "140.75", + "min": "140.40", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "497.47", + "p50": "456.79", + "p95": "389.75", + "p99": "371.99", + "min": "370.77", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "342.53", + "p50": "299.99", + "p95": "58.33", + "p99": "56.09", + "min": "55.99", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "424.00", + "p50": "390.36", + "p95": "88.92", + "p99": "58.73", + "min": "54.97", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "37800.60", + "p50": "8603.33", + "p95": "2528.48", + "p99": "767.99", + "min": "278.12", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "372.47", + "p50": "352.97", + "p95": "301.23", + "p99": "275.74", + "min": "271.78", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "355.08", + "p50": "337.35", + "p95": "281.75", + "p99": "167.48", + "min": "137.89", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "354.69", + "p50": "338.41", + "p95": "286.48", + "p99": "279.24", + "min": "278.81", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "360.26", + "p50": "337.39", + "p95": "284.82", + "p99": "113.37", + "min": "69.42", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "15014.94", + "p50": "7580.11", + "p95": "2518.32", + "p99": "1597.12", + "min": "1461.32", + "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": "15398.14", + "p50": "8385.51", + "p95": "2562.23", + "p99": "1585.60", + "min": "1571.11", + "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": "14661.88", + "p50": "6405.67", + "p95": "2164.55", + "p99": "782.31", + "min": "366.97", + "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": "15158.84", + "p50": "6442.38", + "p95": "2621.42", + "p99": "1697.80", + "min": "1478.09", + "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": "14509.17", + "p50": "6558.66", + "p95": "2744.81", + "p99": "1852.19", + "min": "1718.33", + "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": "15059.21", + "p50": "7741.84", + "p95": "2506.57", + "p99": "1049.46", + "min": "50.60", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "257.31", + "p50": "253.78", + "p95": "246.35", + "p99": "240.40", + "min": "239.44", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "538.56", + "p50": "530.66", + "p95": "516.50", + "p99": "485.28", + "min": "484.46", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "1184.07", + "p50": "1128.83", + "p95": "375.99", + "p99": "346.12", + "min": "342.48", + "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": "20357.51", + "p50": "9048.13", + "p95": "2436.15", + "p99": "1425.92", + "min": "1331.51", + "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": "1094.52", + "p50": "1049.74", + "p95": "346.47", + "p99": "325.39", + "min": "319.15", + "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": "47749.06", + "p50": "9097.27", + "p95": "2220.94", + "p99": "1774.44", + "min": "1770.12", + "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": "16717.17", + "p50": "7153.68", + "p95": "2577.16", + "p99": "1682.00", + "min": "1662.59", + "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": "523.46", + "p50": "497.27", + "p95": "421.23", + "p99": "179.86", + "min": "110.73", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "518.16", + "p50": "508.38", + "p95": "496.21", + "p99": "480.50", + "min": "479.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": "204.14", + "p50": "202.43", + "p95": "195.10", + "p99": "185.62", + "min": "182.98", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "434.72", + "p50": "426.54", + "p95": "401.37", + "p99": "392.99", + "min": "390.53", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "205.42", + "p50": "202.28", + "p95": "200.09", + "p99": "197.08", + "min": "197.08", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "332.80", + "p50": "322.75", + "p95": "303.89", + "p99": "204.69", + "min": "184.49", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "272.44", + "p50": "267.54", + "p95": "253.43", + "p99": "250.81", + "min": "250.47", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "519.11", + "p50": "508.32", + "p95": "490.36", + "p99": "427.70", + "min": "420.44", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "1478.25", + "p50": "1188.73", + "p95": "881.56", + "p99": "783.43", + "min": "764.56", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "317.80", + "p50": "314.65", + "p95": "306.00", + "p99": "300.34", + "min": "299.34", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "geth": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "88.49", + "p50": "85.22", + "p95": "76.69", + "p99": "76.30", + "min": "76.28", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "80.83", + "p50": "78.22", + "p95": "71.87", + "p99": "70.78", + "min": "70.70", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "82.56", + "p50": "79.49", + "p95": "72.96", + "p99": "68.66", + "min": "68.46", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "226.21", + "p50": "209.44", + "p95": "178.96", + "p99": "161.11", + "min": "160.40", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "176.21", + "p50": "162.69", + "p95": "138.82", + "p99": "120.38", + "min": "116.95", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "181.17", + "p50": "169.36", + "p95": "151.46", + "p99": "117.49", + "min": "108.39", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "171.42", + "p50": "157.26", + "p95": "135.99", + "p99": "131.29", + "min": "131.26", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "167.53", + "p50": "156.79", + "p95": "137.17", + "p99": "125.65", + "min": "123.76", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "192.21", + "p50": "177.20", + "p95": "153.13", + "p99": "145.89", + "min": "145.64", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "173.94", + "p50": "160.04", + "p95": "137.24", + "p99": "132.36", + "min": "132.11", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "192.59", + "p50": "179.43", + "p95": "150.24", + "p99": "134.09", + "min": "131.70", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "140.66", + "p50": "132.16", + "p95": "113.34", + "p99": "103.71", + "min": "101.81", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "219.40", + "p50": "202.02", + "p95": "168.78", + "p99": "158.82", + "min": "158.69", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "172.39", + "p50": "159.97", + "p95": "134.95", + "p99": "124.63", + "min": "124.09", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "68.17", + "p50": "65.01", + "p95": "60.51", + "p99": "56.75", + "min": "55.95", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "139.61", + "p50": "128.52", + "p95": "112.59", + "p99": "119.45", + "min": "108.60", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "395.15", + "p50": "310.95", + "p95": "226.20", + "p99": "235.33", + "min": "197.84", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "169.66", + "p50": "140.44", + "p95": "133.53", + "p99": "148.95", + "min": "133.33", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "131.37", + "p50": "120.95", + "p95": "112.70", + "p99": "120.24", + "min": "111.84", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1169.68", + "p50": "878.48", + "p95": "517.54", + "p99": "348.00", + "min": "265.62", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1028.43", + "p50": "822.65", + "p95": "467.26", + "p99": "418.63", + "min": "415.21", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "1319.69", + "p50": "1018.46", + "p95": "524.64", + "p99": "461.75", + "min": "460.82", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "1249.26", + "p50": "944.18", + "p95": "532.01", + "p99": "455.82", + "min": "450.20", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "1228.88", + "p50": "921.30", + "p95": "523.99", + "p99": "415.28", + "min": "408.05", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1063.06", + "p50": "839.36", + "p95": "530.73", + "p99": "426.58", + "min": "412.94", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "656.20", + "p50": "517.92", + "p95": "364.10", + "p99": "240.94", + "min": "228.16", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "660.83", + "p50": "522.83", + "p95": "382.09", + "p99": "350.53", + "min": "349.71", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "627.09", + "p50": "506.37", + "p95": "366.07", + "p99": "319.20", + "min": "313.81", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "666.34", + "p50": "527.07", + "p95": "349.22", + "p99": "285.46", + "min": "279.78", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "289.84", + "p50": "262.45", + "p95": "205.60", + "p99": "195.47", + "min": "195.41", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "550.61", + "p50": "433.81", + "p95": "313.16", + "p99": "263.17", + "min": "262.59", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "566.83", + "p50": "447.73", + "p95": "312.16", + "p99": "236.77", + "min": "225.76", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "541.52", + "p50": "447.50", + "p95": "338.88", + "p99": "277.73", + "min": "268.11", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "573.29", + "p50": "460.19", + "p95": "325.14", + "p99": "291.18", + "min": "290.66", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "106.53", + "p50": "102.06", + "p95": "92.75", + "p99": "88.75", + "min": "88.57", + "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.57", + "p50": "102.21", + "p95": "91.71", + "p99": "86.80", + "min": "84.42", + "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": "99.25", + "p50": "95.20", + "p95": "86.33", + "p99": "83.05", + "min": "82.86", + "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": "253.72", + "p50": "235.79", + "p95": "191.49", + "p99": "167.13", + "min": "160.33", + "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.83", + "p50": "94.44", + "p95": "86.04", + "p99": "83.06", + "min": "82.78", + "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": "246.67", + "p50": "225.30", + "p95": "185.53", + "p99": "171.81", + "min": "171.38", + "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.92", + "p50": "179.07", + "p95": "153.13", + "p99": "120.66", + "min": "116.25", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "199.12", + "p50": "185.82", + "p95": "151.78", + "p99": "114.67", + "min": "88.21", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "354.70", + "p50": "312.90", + "p95": "248.03", + "p99": "220.21", + "min": "219.52", + "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": "5322.66", + "p50": "2225.77", + "p95": "925.62", + "p99": "579.27", + "min": "544.67", + "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": "341.80", + "p50": "307.10", + "p95": "249.13", + "p99": "201.49", + "min": "182.94", + "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": "14935.82", + "p50": "3508.49", + "p95": "1321.87", + "p99": "784.02", + "min": "719.28", + "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": "3103.96", + "p50": "1794.09", + "p95": "816.53", + "p99": "687.80", + "min": "687.17", + "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": "180.06", + "p50": "166.06", + "p95": "132.78", + "p99": "124.80", + "min": "122.65", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "247.08", + "p50": "227.93", + "p95": "189.46", + "p99": "173.26", + "min": "173.13", + "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.08", + "p50": "87.75", + "p95": "79.77", + "p99": "77.08", + "min": "77.03", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "222.35", + "p50": "206.60", + "p95": "174.75", + "p99": "159.83", + "min": "159.83", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "170.18", + "p50": "159.36", + "p95": "133.46", + "p99": "127.87", + "min": "127.04", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "201.38", + "p50": "185.91", + "p95": "159.89", + "p99": "149.75", + "min": "148.30", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "194.23", + "p50": "179.00", + "p95": "151.37", + "p99": "135.34", + "min": "134.73", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "195.62", + "p50": "182.10", + "p95": "154.06", + "p99": "130.66", + "min": "126.46", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "1106.93", + "p50": "876.02", + "p95": "564.59", + "p99": "512.96", + "min": "507.37", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "173.28", + "p50": "164.26", + "p95": "122.17", + "p99": "112.26", + "min": "110.76", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "reth": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "193.87", + "p50": "188.78", + "p95": "171.67", + "p99": "156.50", + "min": "155.52", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "194.32", + "p50": "188.16", + "p95": "169.05", + "p99": "160.72", + "min": "160.60", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "195.06", + "p50": "188.81", + "p95": "173.47", + "p99": "162.03", + "min": "160.41", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "1186.27", + "p50": "1086.12", + "p95": "689.26", + "p99": "529.39", + "min": "521.33", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "699.69", + "p50": "632.33", + "p95": "485.84", + "p99": "404.40", + "min": "404.32", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "811.93", + "p50": "727.41", + "p95": "538.40", + "p99": "470.29", + "min": "463.55", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "722.57", + "p50": "664.93", + "p95": "479.56", + "p99": "410.07", + "min": "399.35", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "731.18", + "p50": "668.43", + "p95": "496.82", + "p99": "407.37", + "min": "406.32", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "893.45", + "p50": "819.74", + "p95": "546.32", + "p99": "463.02", + "min": "461.84", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "831.81", + "p50": "743.71", + "p95": "508.72", + "p99": "446.28", + "min": "440.43", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "848.09", + "p50": "733.35", + "p95": "561.25", + "p99": "451.39", + "min": "449.96", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "819.90", + "p50": "719.82", + "p95": "547.15", + "p99": "440.83", + "min": "439.81", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "882.36", + "p50": "790.74", + "p95": "553.95", + "p99": "485.11", + "min": "467.79", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "858.86", + "p50": "751.04", + "p95": "501.89", + "p99": "458.25", + "min": "454.02", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "64.40", + "p50": "62.53", + "p95": "60.41", + "p99": "58.70", + "min": "58.39", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "97.26", + "p50": "95.08", + "p95": "64.78", + "p99": "75.72", + "min": "64.12", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "483.65", + "p50": "442.79", + "p95": "356.58", + "p99": "366.70", + "min": "339.27", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "132.06", + "p50": "101.89", + "p95": "68.53", + "p99": "94.73", + "min": "66.57", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "91.41", + "p50": "86.98", + "p95": "59.51", + "p99": "72.53", + "min": "58.29", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1792.05", + "p50": "1564.30", + "p95": "902.71", + "p99": "676.49", + "min": "601.23", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1639.88", + "p50": "1408.95", + "p95": "853.21", + "p99": "612.67", + "min": "607.13", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "2251.55", + "p50": "1791.07", + "p95": "926.73", + "p99": "697.79", + "min": "690.89", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "2224.97", + "p50": "1774.85", + "p95": "965.03", + "p99": "675.16", + "min": "663.60", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "2206.32", + "p50": "1631.98", + "p95": "821.33", + "p99": "684.15", + "min": "683.40", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1679.26", + "p50": "1481.18", + "p95": "914.43", + "p99": "625.08", + "min": "613.90", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "707.18", + "p50": "620.68", + "p95": "474.69", + "p99": "408.57", + "min": "408.56", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "710.68", + "p50": "624.33", + "p95": "487.88", + "p99": "408.49", + "min": "407.53", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "723.33", + "p50": "626.95", + "p95": "491.85", + "p99": "438.92", + "min": "431.39", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "728.99", + "p50": "637.83", + "p95": "471.64", + "p99": "439.14", + "min": "436.49", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "86.71", + "p50": "85.60", + "p95": "81.57", + "p99": "79.37", + "min": "79.26", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "633.87", + "p50": "563.09", + "p95": "418.38", + "p99": "383.34", + "min": "383.20", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "599.59", + "p50": "540.43", + "p95": "414.68", + "p99": "372.70", + "min": "370.00", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "600.05", + "p50": "539.59", + "p95": "431.90", + "p99": "376.35", + "min": "371.02", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "609.22", + "p50": "553.92", + "p95": "465.13", + "p99": "379.38", + "min": "372.35", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "1920.53", + "p50": "1686.21", + "p95": "873.68", + "p99": "635.17", + "min": "622.16", + "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": "2201.77", + "p50": "1877.73", + "p95": "916.25", + "p99": "702.11", + "min": "671.55", + "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.81", + "p50": "72.06", + "p95": "69.50", + "p99": "67.26", + "min": "67.11", + "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": "9330.10", + "p50": "4245.40", + "p95": "2421.38", + "p99": "1766.72", + "min": "1734.95", + "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.89", + "p50": "71.84", + "p95": "69.33", + "p99": "67.93", + "min": "67.66", + "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": "221.86", + "p50": "217.12", + "p95": "197.71", + "p99": "180.82", + "min": "180.62", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "829.14", + "p50": "741.56", + "p95": "514.53", + "p99": "434.80", + "min": "431.83", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "670.50", + "p50": "620.75", + "p95": "472.73", + "p99": "390.15", + "min": "385.00", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "1065.72", + "p50": "988.44", + "p95": "694.54", + "p99": "579.43", + "min": "574.57", + "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": "27053.96", + "p50": "8785.19", + "p95": "2688.52", + "p99": "2068.53", + "min": "1808.35", + "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": "1067.10", + "p50": "993.74", + "p95": "671.27", + "p99": "569.73", + "min": "537.13", + "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": "53045.07", + "p50": "9587.60", + "p95": "2762.16", + "p99": "1890.87", + "min": "1605.41", + "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": "15947.55", + "p50": "6261.57", + "p95": "1531.81", + "p99": "1009.73", + "min": "1004.96", + "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": "555.16", + "p50": "488.68", + "p95": "409.45", + "p99": "330.39", + "min": "329.41", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "978.34", + "p50": "894.44", + "p95": "564.26", + "p99": "483.23", + "min": "475.33", + "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": "817.14", + "p50": "741.31", + "p95": "537.98", + "p99": "463.90", + "min": "457.04", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "1201.91", + "p50": "1079.32", + "p95": "694.42", + "p99": "590.67", + "min": "570.03", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "732.69", + "p50": "674.35", + "p95": "512.70", + "p99": "440.42", + "min": "435.54", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "1156.00", + "p50": "994.85", + "p95": "671.36", + "p99": "524.19", + "min": "519.71", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "873.55", + "p50": "764.65", + "p95": "573.52", + "p99": "458.83", + "min": "455.69", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "907.81", + "p50": "803.85", + "p95": "617.15", + "p99": "477.84", + "min": "469.79", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "2363.22", + "p50": "1980.98", + "p95": "1066.22", + "p99": "968.96", + "min": "964.03", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "852.26", + "p50": "801.22", + "p95": "522.00", + "p99": "445.62", + "min": "443.41", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "erigon": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "81.71", + "p50": "79.18", + "p95": "73.21", + "p99": "68.55", + "min": "68.40", + "n": "112", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "75.26", + "p50": "72.92", + "p95": "65.59", + "p99": "62.45", + "min": "62.22", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "76.59", + "p50": "74.29", + "p95": "67.66", + "p99": "63.78", + "min": "63.52", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "211.74", + "p50": "197.25", + "p95": "158.37", + "p99": "136.58", + "min": "131.75", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "104.17", + "p50": "100.00", + "p95": "89.50", + "p99": "84.98", + "min": "84.62", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "109.97", + "p50": "104.82", + "p95": "94.49", + "p99": "86.72", + "min": "86.29", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "142.57", + "p50": "133.67", + "p95": "114.36", + "p99": "106.81", + "min": "105.41", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "142.20", + "p50": "134.11", + "p95": "112.11", + "p99": "73.04", + "min": "64.58", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "188.62", + "p50": "174.08", + "p95": "141.40", + "p99": "127.25", + "min": "126.76", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "184.80", + "p50": "172.35", + "p95": "141.08", + "p99": "127.38", + "min": "126.62", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "185.82", + "p50": "172.97", + "p95": "147.91", + "p99": "123.66", + "min": "122.09", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "128.31", + "p50": "121.33", + "p95": "104.68", + "p99": "95.00", + "min": "94.92", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "205.39", + "p50": "189.50", + "p95": "156.12", + "p99": "138.06", + "min": "137.17", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "192.00", + "p50": "176.13", + "p95": "139.96", + "p99": "123.82", + "min": "122.27", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "72.73", + "p50": "69.05", + "p95": "63.02", + "p99": "60.37", + "min": "59.37", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "133.80", + "p50": "124.98", + "p95": "105.35", + "p99": "114.22", + "min": "103.67", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "216.33", + "p50": "192.05", + "p95": "151.34", + "p99": "154.34", + "min": "139.80", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "162.60", + "p50": "139.03", + "p95": "133.02", + "p99": "144.51", + "min": "130.87", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "128.81", + "p50": "120.26", + "p95": "107.02", + "p99": "112.63", + "min": "100.43", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1042.36", + "p50": "757.61", + "p95": "427.72", + "p99": "367.62", + "min": "367.35", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1029.02", + "p50": "735.88", + "p95": "385.54", + "p99": "297.62", + "min": "289.71", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "1156.46", + "p50": "830.37", + "p95": "447.44", + "p99": "357.65", + "min": "306.36", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "1095.70", + "p50": "770.78", + "p95": "435.33", + "p99": "324.97", + "min": "323.62", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "1035.58", + "p50": "747.18", + "p95": "438.69", + "p99": "395.39", + "min": "388.97", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1030.76", + "p50": "771.08", + "p95": "424.73", + "p99": "318.15", + "min": "311.76", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "344.75", + "p50": "293.83", + "p95": "210.99", + "p99": "186.59", + "min": "183.95", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "344.26", + "p50": "295.88", + "p95": "228.65", + "p99": "193.46", + "min": "192.43", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "338.01", + "p50": "299.19", + "p95": "215.60", + "p99": "202.17", + "min": "200.80", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "372.47", + "p50": "314.72", + "p95": "218.26", + "p99": "200.60", + "min": "198.10", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "288.10", + "p50": "256.85", + "p95": "204.30", + "p99": "169.09", + "min": "167.88", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "296.65", + "p50": "264.79", + "p95": "210.43", + "p99": "175.90", + "min": "171.73", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "295.80", + "p50": "262.32", + "p95": "197.17", + "p99": "171.47", + "min": "168.89", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "307.91", + "p50": "267.86", + "p95": "201.90", + "p99": "177.67", + "min": "177.07", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "298.68", + "p50": "262.46", + "p95": "202.21", + "p99": "168.42", + "min": "164.99", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "105.98", + "p50": "100.94", + "p95": "91.57", + "p99": "84.12", + "min": "83.56", + "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.53", + "p50": "100.90", + "p95": "90.21", + "p99": "83.40", + "min": "82.04", + "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.95", + "p50": "94.30", + "p95": "86.15", + "p99": "81.83", + "min": "81.26", + "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": "249.15", + "p50": "228.53", + "p95": "176.96", + "p99": "150.50", + "min": "150.46", + "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.02", + "p50": "93.83", + "p95": "85.99", + "p99": "81.41", + "min": "81.17", + "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.50", + "p50": "223.89", + "p95": "167.09", + "p99": "156.41", + "min": "156.23", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "188.75", + "p50": "174.86", + "p95": "136.40", + "p99": "129.60", + "min": "129.51", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "155.12", + "p50": "145.21", + "p95": "125.82", + "p99": "94.17", + "min": "83.08", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "442.92", + "p50": "374.46", + "p95": "257.14", + "p99": "211.46", + "min": "211.00", + "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": "5286.87", + "p50": "1916.71", + "p95": "535.67", + "p99": "450.13", + "min": "409.20", + "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": "440.04", + "p50": "373.69", + "p95": "268.77", + "p99": "233.32", + "min": "232.24", + "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": "12034.25", + "p50": "2661.91", + "p95": "902.04", + "p99": "614.54", + "min": "555.29", + "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": "3185.75", + "p50": "1273.97", + "p95": "466.80", + "p99": "427.03", + "min": "412.19", + "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": "206.96", + "p50": "190.97", + "p95": "154.77", + "p99": "133.30", + "min": "126.75", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "235.62", + "p50": "213.33", + "p95": "173.34", + "p99": "155.22", + "min": "154.33", + "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": "129.19", + "p50": "121.97", + "p95": "107.79", + "p99": "91.14", + "min": "87.48", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "210.16", + "p50": "192.41", + "p95": "146.05", + "p99": "104.92", + "min": "82.84", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "141.55", + "p50": "134.81", + "p95": "113.33", + "p99": "100.70", + "min": "98.58", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "174.94", + "p50": "162.08", + "p95": "130.05", + "p99": "106.58", + "min": "98.76", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "187.42", + "p50": "173.54", + "p95": "140.22", + "p99": "93.65", + "min": "84.70", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "186.71", + "p50": "171.44", + "p95": "139.91", + "p99": "130.47", + "min": "129.69", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "298.97", + "p50": "241.59", + "p95": "147.21", + "p99": "146.94", + "min": "138.93", + "n": "94", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "144.25", + "p50": "136.83", + "p95": "111.06", + "p99": "107.41", + "min": "96.41", + "n": "76", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "besu": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "88.19", + "p50": "85.91", + "p95": "78.91", + "p99": "75.37", + "min": "75.00", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "89.35", + "p50": "87.08", + "p95": "82.28", + "p99": "80.67", + "min": "80.66", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "88.98", + "p50": "86.35", + "p95": "80.33", + "p99": "79.03", + "min": "78.96", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "191.89", + "p50": "182.53", + "p95": "176.89", + "p99": "146.51", + "min": "142.51", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "93.94", + "p50": "89.25", + "p95": "85.90", + "p99": "84.29", + "min": "84.25", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "110.90", + "p50": "107.33", + "p95": "104.86", + "p99": "99.49", + "min": "98.44", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "124.59", + "p50": "120.90", + "p95": "108.38", + "p99": "99.76", + "min": "99.71", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "125.11", + "p50": "121.82", + "p95": "117.50", + "p99": "114.18", + "min": "114.09", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "98.91", + "p50": "96.69", + "p95": "77.03", + "p99": "74.40", + "min": "73.57", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "98.01", + "p50": "95.53", + "p95": "93.41", + "p99": "92.33", + "min": "92.23", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "98.33", + "p50": "95.67", + "p95": "93.53", + "p99": "88.79", + "min": "88.01", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "127.95", + "p50": "123.04", + "p95": "116.87", + "p99": "114.50", + "min": "114.40", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "122.90", + "p50": "113.96", + "p95": "109.29", + "p99": "103.31", + "min": "103.07", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "115.79", + "p50": "113.18", + "p95": "109.01", + "p99": "103.01", + "min": "103.00", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "75.20", + "p50": "71.60", + "p95": "67.29", + "p99": "61.48", + "min": "60.65", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "98.01", + "p50": "96.71", + "p95": "91.40", + "p99": "93.05", + "min": "90.37", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "58.14", + "p50": "56.70", + "p95": "55.04", + "p99": "54.53", + "min": "53.68", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "158.43", + "p50": "127.01", + "p95": "119.11", + "p99": "134.29", + "min": "116.08", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "110.00", + "p50": "107.78", + "p95": "103.89", + "p99": "106.26", + "min": "103.44", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "374.09", + "p50": "362.41", + "p95": "344.54", + "p99": "308.17", + "min": "301.09", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "509.51", + "p50": "496.85", + "p95": "456.14", + "p99": "368.08", + "min": "358.46", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "367.42", + "p50": "355.68", + "p95": "342.57", + "p99": "292.57", + "min": "278.62", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "370.36", + "p50": "357.19", + "p95": "338.99", + "p99": "267.41", + "min": "267.24", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "372.79", + "p50": "358.60", + "p95": "347.06", + "p99": "302.75", + "min": "285.63", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "465.95", + "p50": "455.03", + "p95": "429.47", + "p99": "388.38", + "min": "385.23", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "94.66", + "p50": "91.68", + "p95": "89.88", + "p99": "87.71", + "min": "87.51", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "95.91", + "p50": "92.16", + "p95": "89.90", + "p99": "88.08", + "min": "88.04", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "94.53", + "p50": "91.09", + "p95": "88.99", + "p99": "86.91", + "min": "86.71", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "87.21", + "p50": "84.76", + "p95": "83.36", + "p99": "78.62", + "min": "78.01", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "87.00", + "p50": "86.00", + "p95": "85.46", + "p99": "83.08", + "min": "82.52", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "87.64", + "p50": "84.74", + "p95": "82.48", + "p99": "79.91", + "min": "79.60", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "83.68", + "p50": "80.52", + "p95": "78.82", + "p99": "71.61", + "min": "70.43", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "83.60", + "p50": "80.31", + "p95": "77.56", + "p99": "73.91", + "min": "73.12", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "83.35", + "p50": "80.43", + "p95": "78.23", + "p99": "77.11", + "min": "77.10", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "370.67", + "p50": "358.57", + "p95": "268.54", + "p99": "222.10", + "min": "191.19", + "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": "372.08", + "p50": "357.38", + "p95": "304.54", + "p99": "201.62", + "min": "155.94", + "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": "155.26", + "p50": "151.87", + "p95": "133.27", + "p99": "118.21", + "min": "113.47", + "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": "475.73", + "p50": "452.34", + "p95": "339.38", + "p99": "271.52", + "min": "220.14", + "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.42", + "p50": "151.81", + "p95": "133.96", + "p99": "104.21", + "min": "98.62", + "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": "276.03", + "p50": "267.62", + "p95": "226.94", + "p99": "183.48", + "min": "168.19", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "98.46", + "p50": "96.13", + "p95": "87.69", + "p99": "78.95", + "min": "78.49", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "185.81", + "p50": "183.20", + "p95": "178.87", + "p99": "165.09", + "min": "163.71", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "402.28", + "p50": "306.18", + "p95": "219.25", + "p99": "195.54", + "min": "195.20", + "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": "7273.89", + "p50": "2126.65", + "p95": "843.99", + "p99": "541.67", + "min": "442.39", + "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": "379.04", + "p50": "297.28", + "p95": "246.59", + "p99": "209.03", + "min": "206.16", + "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": "28502.73", + "p50": "9758.87", + "p95": "2646.69", + "p99": "1959.59", + "min": "1947.07", + "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": "4512.66", + "p50": "3092.22", + "p95": "1442.12", + "p99": "1032.72", + "min": "989.30", + "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": "323.58", + "p50": "260.25", + "p95": "197.62", + "p99": "158.08", + "min": "152.24", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "150.27", + "p50": "132.86", + "p95": "113.97", + "p99": "107.55", + "min": "106.16", + "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": "123.66", + "p50": "118.91", + "p95": "96.93", + "p99": "93.27", + "min": "92.86", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "129.45", + "p50": "121.01", + "p95": "103.22", + "p99": "100.67", + "min": "100.20", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "123.64", + "p50": "118.70", + "p95": "115.25", + "p99": "111.04", + "min": "110.52", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "155.90", + "p50": "149.43", + "p95": "145.43", + "p99": "141.84", + "min": "141.69", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "95.98", + "p50": "92.68", + "p95": "74.56", + "p99": "71.91", + "min": "71.31", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "119.17", + "p50": "113.22", + "p95": "110.42", + "p99": "108.84", + "min": "108.41", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "937.00", + "p50": "871.96", + "p95": "648.22", + "p99": "554.35", + "min": "538.31", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "121.45", + "p50": "119.51", + "p95": "102.25", + "p99": "95.08", + "min": "94.39", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + } +} \ No newline at end of file diff --git a/gas/20240907.metadata.json b/gas/20240907.metadata.json new file mode 100644 index 0000000..afd5655 --- /dev/null +++ b/gas/20240907.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": "2143.05075 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.28.0", + "geth": "ethereum/client-go:v1.14.8", + "reth": "ghcr.io/paradigmxyz/reth:v1.0.6", + "erigon": "thorax/erigon:2.60.6-amd64", + "besu": "hyperledger/besu:24.8.0" + } + } +} \ No newline at end of file diff --git a/genesis-data/20240907.json b/genesis-data/20240907.json new file mode 100644 index 0000000..b486b9b --- /dev/null +++ b/genesis-data/20240907.json @@ -0,0 +1,190 @@ +{ + "speed": { + "besu": { + "1000M": { + "second": { + "max": 765132, + "p50": 752386, + "p95": 764100, + "p99": 764925, + "min": 742777, + "count": 8 + }, + "first": { + "max": 766170, + "p50": 758905, + "p95": 765415, + "p99": 766019, + "min": 746987, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 263317, + "p50": 262682, + "p95": 263220, + "p99": 263297, + "min": 261863, + "count": 8 + }, + "second": { + "max": 1154, + "p50": 1073, + "p95": 1145, + "p99": 1152, + "min": 1037, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 822000, + "p50": 818398, + "p95": 821393, + "p99": 821878, + "min": 809203, + "count": 8 + }, + "second": { + "max": 611, + "p50": 582, + "p95": 610, + "p99": 610, + "min": 554, + "count": 8 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": -1, + "p50": -1, + "p95": -1, + "p99": -1, + "min": -1, + "count": 8 + }, + "first": { + "max": 117996, + "p50": 116505, + "p95": 117886, + "p99": 117974, + "min": 115546, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "first": { + "max": -1, + "p50": -1, + "p95": -1, + "p99": -1, + "min": -1, + "count": 8 + } + } + } + }, + "memory": { + "besu": { + "1000M": { + "second": { + "max": 45250.56, + "p50": 45214.72, + "p95": 45246.975999999995, + "p99": 45249.843199999996, + "min": 45148.16, + "count": 8 + }, + "first": { + "max": 45260.8, + "p50": 45178.88, + "p95": 45253.632000000005, + "p99": 45259.366400000006, + "min": 45004.8, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 28876.8, + "p50": 25978.88, + "p95": 28156.415999999997, + "p99": 28732.7232, + "min": 24043.52, + "count": 8 + }, + "second": { + "max": 75.94, + "p50": 73.4, + "p95": 75.863, + "p99": 75.9246, + "min": 70.4, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 60129.28, + "p50": 59095.04, + "p95": 59881.984, + "p99": 60079.8208, + "min": 57763.84, + "count": 8 + }, + "second": { + "max": 50.87, + "p50": 47.185, + "p95": 50.541, + "p99": 50.804199999999994, + "min": 43.69, + "count": 8 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": -1.0, + "p50": -1.0, + "p95": -1.0, + "p99": -1.0, + "min": -1.0, + "count": 8 + }, + "first": { + "max": 14489.6, + "p50": 14474.240000000002, + "p95": 14489.6, + "p99": 14489.6, + "min": 14264.32, + "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/20240907.memory.html b/genesis-data/20240907.memory.html new file mode 100644 index 0000000..f799cd8 --- /dev/null +++ b/genesis-data/20240907.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.5874375000003 MHz
+

+ Besu - hyperledger/besu:24.8.0 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 44.20G + + 44.12G + + 44.19G + + 44.20G + + 43.95G + + 8 +
+ 1000M + + second + + 44.19G + + 44.16G + + 44.19G + + 44.19G + + 44.09G + + 8 +
+

+ Erigon - thorax/erigon:2.60.6-amd64 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 28.20G + + 25.37G + + 27.50G + + 28.06G + + 23.48G + + 8 +
+ 1000M + + second + + 0.07G + + 0.07G + + 0.07G + + 0.07G + + 0.07G + + 8 +
+

+ Geth - ethereum/client-go:v1.14.8 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 58.72G + + 57.71G + + 58.48G + + 58.67G + + 56.41G + + 8 +
+ 1000M + + second + + 0.05G + + 0.05G + + 0.05G + + 0.05G + + 0.04G + + 8 +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 14.15G + + 14.14G + + 14.15G + + 14.15G + + 13.93G + + 8 +
+ 1000M + + second + + ∞ + + ∞ + + ∞ + + ∞ + + ∞ + + 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/20240907.memory.json b/genesis-data/20240907.memory.json new file mode 100644 index 0000000..d6153dd --- /dev/null +++ b/genesis-data/20240907.memory.json @@ -0,0 +1,94 @@ +{ + "besu": { + "1000M": { + "second": { + "max": 45250.56, + "p50": 45214.72, + "p95": 45246.975999999995, + "p99": 45249.843199999996, + "min": 45148.16, + "count": 8 + }, + "first": { + "max": 45260.8, + "p50": 45178.88, + "p95": 45253.632000000005, + "p99": 45259.366400000006, + "min": 45004.8, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 28876.8, + "p50": 25978.88, + "p95": 28156.415999999997, + "p99": 28732.7232, + "min": 24043.52, + "count": 8 + }, + "second": { + "max": 75.94, + "p50": 73.4, + "p95": 75.863, + "p99": 75.9246, + "min": 70.4, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 60129.28, + "p50": 59095.04, + "p95": 59881.984, + "p99": 60079.8208, + "min": 57763.84, + "count": 8 + }, + "second": { + "max": 50.87, + "p50": 47.185, + "p95": 50.541, + "p99": 50.804199999999994, + "min": 43.69, + "count": 8 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": -1.0, + "p50": -1.0, + "p95": -1.0, + "p99": -1.0, + "min": -1.0, + "count": 8 + }, + "first": { + "max": 14489.6, + "p50": 14474.240000000002, + "p95": 14489.6, + "p99": 14489.6, + "min": 14264.32, + "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/20240907.metadata.json b/genesis-data/20240907.metadata.json new file mode 100644 index 0000000..e4896c3 --- /dev/null +++ b/genesis-data/20240907.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.5874375000003 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.28.0", + "geth": "ethereum/client-go:v1.14.8", + "reth": "ghcr.io/paradigmxyz/reth:v1.0.6", + "erigon": "thorax/erigon:2.60.6-amd64", + "besu": "hyperledger/besu:24.8.0" + } + } +} \ No newline at end of file diff --git a/genesis-data/20240907.speed.html b/genesis-data/20240907.speed.html new file mode 100644 index 0000000..4d7e84b --- /dev/null +++ b/genesis-data/20240907.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.6151875 MHz
+

+ Besu - hyperledger/besu:24.8.0 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 12min46s + + 12min38s + + 12min45s + + 12min46s + + 12min26s + + 8 +
+ 1000M + + second + + 12min45s + + 12min32s + + 12min44s + + 12min44s + + 12min22s + + 8 +
+

+ Erigon - thorax/erigon:2.60.6-amd64 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 4min23s + + 4min22s + + 4min23s + + 4min23s + + 4min21s + + 8 +
+ 1000M + + second + + 1s + + 1s + + 1s + + 1s + + 1s + + 8 +
+

+ Geth - ethereum/client-go:v1.14.8 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 13min42s + + 13min38s + + 13min41s + + 13min41s + + 13min29s + + 8 +
+ 1000M + + second + + 611ms + + 582ms + + 610ms + + 610ms + + 554ms + + 8 +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 1min57s + + 1min56s + + 1min57s + + 1min57s + + 1min55s + + 8 +
+ 1000M + + second + + ∞ + + ∞ + + ∞ + + ∞ + + ∞ + + 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/20240907.speed.json b/genesis-data/20240907.speed.json new file mode 100644 index 0000000..4185294 --- /dev/null +++ b/genesis-data/20240907.speed.json @@ -0,0 +1,94 @@ +{ + "besu": { + "1000M": { + "second": { + "max": 765132, + "p50": 752386, + "p95": 764100, + "p99": 764925, + "min": 742777, + "count": 8 + }, + "first": { + "max": 766170, + "p50": 758905, + "p95": 765415, + "p99": 766019, + "min": 746987, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 263317, + "p50": 262682, + "p95": 263220, + "p99": 263297, + "min": 261863, + "count": 8 + }, + "second": { + "max": 1154, + "p50": 1073, + "p95": 1145, + "p99": 1152, + "min": 1037, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 822000, + "p50": 818398, + "p95": 821393, + "p99": 821878, + "min": 809203, + "count": 8 + }, + "second": { + "max": 611, + "p50": 582, + "p95": 610, + "p99": 610, + "min": 554, + "count": 8 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": -1, + "p50": -1, + "p95": -1, + "p99": -1, + "min": -1, + "count": 8 + }, + "first": { + "max": 117996, + "p50": 116505, + "p95": 117886, + "p99": 117974, + "min": 115546, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "first": { + "max": -1, + "p50": -1, + "p95": -1, + "p99": -1, + "min": -1, + "count": 8 + } + } + } +} \ No newline at end of file