diff --git a/burntpix/20241026.html b/burntpix/20241026.html new file mode 100644 index 0000000..4efc190 --- /dev/null +++ b/burntpix/20241026.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: 2137.5088125 MHz
+
+
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 41366.45 + + 443.43 + + 281.04 + + 11357.16 + + 257.83 + + 72 + + Burnt Pix By Geth Developer +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 8055.95 + + 291.19 + + 272.54 + + 2368.95 + + 265.53 + + 72 + + Burnt Pix By Geth Developer +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 129910.25 + + 1435.70 + + 1265.54 + + 35981.29 + + 1240.45 + + 72 + + Burnt Pix By Geth Developer +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 2100.67 + + 280.10 + + 262.06 + + 727.67 + + 219.85 + + 72 + + Burnt Pix By Geth Developer +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Burnt Pix + + 21875.75 + + 100.09 + + 89.01 + + 5964.09 + + 78.96 + + 72 + + Burnt Pix By Geth Developer +
+ + + diff --git a/burntpix/20241026.json b/burntpix/20241026.json new file mode 100644 index 0000000..2ac603a --- /dev/null +++ b/burntpix/20241026.json @@ -0,0 +1,62 @@ +{ + "nethermind": { + "Burnt": { + "title": "Burnt Pix", + "max": "41366.45", + "p50": "443.43", + "p95": "281.04", + "p99": "11357.16", + "min": "257.83", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "geth": { + "Burnt": { + "title": "Burnt Pix", + "max": "8055.95", + "p50": "291.19", + "p95": "272.54", + "p99": "2368.95", + "min": "265.53", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "reth": { + "Burnt": { + "title": "Burnt Pix", + "max": "129910.25", + "p50": "1435.70", + "p95": "1265.54", + "p99": "35981.29", + "min": "1240.45", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "erigon": { + "Burnt": { + "title": "Burnt Pix", + "max": "2100.67", + "p50": "280.10", + "p95": "262.06", + "p99": "727.67", + "min": "219.85", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + }, + "besu": { + "Burnt": { + "title": "Burnt Pix", + "max": "21875.75", + "p50": "100.09", + "p95": "89.01", + "p99": "5964.09", + "min": "78.96", + "n": "72", + "description": "Burnt Pix By Geth Developer" + } + } +} \ No newline at end of file diff --git a/burntpix/20241026.metadata.json b/burntpix/20241026.metadata.json new file mode 100644 index 0000000..99e0367 --- /dev/null +++ b/burntpix/20241026.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": "2137.5088125 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.29.1", + "geth": "ethereum/client-go:v1.14.11", + "reth": "ghcr.io/paradigmxyz/reth:v1.1.0", + "erigon": "thorax/erigon:2.60.8", + "besu": "hyperledger/besu:24.10.0" + } + } +} \ No newline at end of file diff --git a/gas/20241026.html b/gas/20241026.html new file mode 100644 index 0000000..0e13545 --- /dev/null +++ b/gas/20241026.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: 2071.63575 MHz
+
+
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 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 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 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 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 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 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 87.83 + + 84.45 + + 78.25 + + 75.00 + + 74.96 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 80.83 + + 77.97 + + 71.67 + + 68.94 + + 68.63 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 82.15 + + 79.32 + + 72.84 + + 71.10 + + 71.06 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 227.28 + + 210.69 + + 181.74 + + 160.34 + + 158.61 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 170.54 + + 160.93 + + 139.89 + + 125.08 + + 122.56 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 180.68 + + 167.20 + + 143.34 + + 118.26 + + 110.77 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 173.99 + + 158.43 + + 135.69 + + 116.74 + + 113.24 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 169.53 + + 157.57 + + 135.48 + + 82.51 + + 70.51 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 191.43 + + 177.74 + + 149.37 + + 143.87 + + 143.34 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 172.58 + + 161.49 + + 139.75 + + 133.15 + + 132.43 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 192.11 + + 178.91 + + 153.99 + + 142.42 + + 141.39 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 145.75 + + 136.09 + + 120.10 + + 105.47 + + 102.47 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 220.61 + + 204.21 + + 170.20 + + 141.88 + + 134.69 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 172.85 + + 160.15 + + 133.95 + + 101.42 + + 98.17 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 68.79 + + 64.78 + + 60.07 + + 56.96 + + 56.30 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 140.25 + + 128.34 + + 113.34 + + 118.64 + + 107.01 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 368.08 + + 306.39 + + 214.94 + + 222.43 + + 188.27 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 173.55 + + 142.97 + + 134.52 + + 150.47 + + 133.05 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 129.68 + + 122.51 + + 110.66 + + 115.93 + + 105.56 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1109.58 + + 889.07 + + 528.42 + + 438.71 + + 436.14 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1024.87 + + 822.33 + + 467.88 + + 394.48 + + 386.15 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 1362.84 + + 982.50 + + 541.74 + + 395.18 + + 364.70 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 1234.76 + + 954.46 + + 573.04 + + 419.28 + + 409.87 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 1179.42 + + 892.64 + + 522.45 + + 438.17 + + 435.88 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1078.86 + + 822.74 + + 486.86 + + 398.66 + + 391.05 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 626.26 + + 500.84 + + 361.09 + + 274.37 + + 260.60 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 635.14 + + 505.84 + + 347.31 + + 308.76 + + 305.81 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 646.59 + + 514.20 + + 377.81 + + 289.37 + + 276.49 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 650.07 + + 535.05 + + 371.59 + + 296.73 + + 291.81 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 292.36 + + 264.17 + + 216.47 + + 198.88 + + 196.20 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 523.30 + + 422.50 + + 310.35 + + 279.34 + + 278.15 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 541.10 + + 442.41 + + 319.64 + + 295.97 + + 295.59 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 548.85 + + 448.88 + + 348.98 + + 306.27 + + 304.71 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 552.27 + + 459.73 + + 326.34 + + 300.19 + + 298.24 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 106.36 + + 101.47 + + 92.33 + + 86.55 + + 85.78 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 106.35 + + 102.05 + + 92.76 + + 84.50 + + 82.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 + + 98.86 + + 94.77 + + 85.19 + + 81.38 + + 80.36 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 254.15 + + 231.16 + + 191.89 + + 173.64 + + 173.48 + + 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.38 + + 85.23 + + 83.44 + + 83.25 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 245.79 + + 223.58 + + 177.44 + + 168.71 + + 168.57 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 195.92 + + 179.99 + + 154.78 + + 145.31 + + 144.77 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 200.10 + + 184.83 + + 158.69 + + 90.02 + + 42.97 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 361.93 + + 309.80 + + 247.95 + + 197.72 + + 172.11 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 5017.84 + + 2321.09 + + 1003.70 + + 844.36 + + 840.19 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 346.62 + + 306.38 + + 253.53 + + 213.97 + + 213.46 + + 152 + + SStore - repeating storing the same 32-byte word in single storage key of single account +
+ SStore - one storage key, repeating two values, zero and non-zero + + 13329.85 + + 3659.45 + + 1341.54 + + 915.76 + + 691.01 + + 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 + + 3337.35 + + 2053.37 + + 843.87 + + 547.62 + + 505.26 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 162.72 + + 139.47 + + 122.42 + + 108.85 + + 107.63 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 244.27 + + 224.71 + + 185.33 + + 120.85 + + 101.18 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 90.59 + + 87.09 + + 80.18 + + 76.18 + + 75.98 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 225.88 + + 207.38 + + 174.56 + + 158.67 + + 157.36 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 170.76 + + 159.40 + + 135.94 + + 132.38 + + 132.33 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 202.70 + + 187.41 + + 154.85 + + 141.31 + + 134.55 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 196.24 + + 180.26 + + 159.72 + + 149.02 + + 148.81 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 193.79 + + 179.97 + + 151.04 + + 144.99 + + 144.72 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 1143.20 + + 954.06 + + 603.96 + + 522.89 + + 513.97 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 170.51 + + 160.02 + + 143.03 + + 125.58 + + 122.33 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Reth - ghcr.io/paradigmxyz/reth:v1.1.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 + + 193.98 + + 192.37 + + 178.56 + + 167.66 + + 166.34 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 194.92 + + 193.14 + + 180.26 + + 168.14 + + 167.86 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 195.38 + + 193.55 + + 183.10 + + 174.85 + + 173.57 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 1191.66 + + 1163.44 + + 891.34 + + 672.18 + + 619.80 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 701.16 + + 693.99 + + 621.19 + + 497.02 + + 487.73 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 812.09 + + 796.93 + + 677.72 + + 615.17 + + 612.73 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 735.27 + + 720.85 + + 645.50 + + 499.89 + + 486.40 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 748.39 + + 730.12 + + 590.29 + + 477.25 + + 459.13 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 876.58 + + 835.55 + + 696.21 + + 576.46 + + 564.00 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 873.92 + + 834.85 + + 691.53 + + 522.83 + + 514.54 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 859.22 + + 833.56 + + 663.18 + + 536.01 + + 532.61 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 841.01 + + 820.58 + + 682.11 + + 586.31 + + 567.77 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 886.84 + + 867.44 + + 642.23 + + 335.54 + + 328.43 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 871.14 + + 834.97 + + 736.85 + + 507.57 + + 491.26 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 64.34 + + 62.95 + + 61.86 + + 59.98 + + 59.92 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 98.09 + + 97.14 + + 95.63 + + 93.45 + + 90.95 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 597.63 + + 579.34 + + 472.72 + + 435.03 + + 396.88 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 137.64 + + 106.61 + + 98.87 + + 115.30 + + 98.45 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 94.09 + + 90.57 + + 88.86 + + 90.69 + + 88.13 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1934.91 + + 1875.44 + + 899.51 + + 673.74 + + 611.95 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1640.71 + + 1595.58 + + 1073.39 + + 692.60 + + 685.12 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 2527.74 + + 2396.64 + + 1355.45 + + 977.41 + + 970.08 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 2498.44 + + 2394.56 + + 1308.34 + + 860.35 + + 818.59 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 2493.14 + + 2361.99 + + 1397.64 + + 771.83 + + 750.73 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1707.87 + + 1643.72 + + 1074.85 + + 711.81 + + 698.45 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 855.24 + + 832.94 + + 685.91 + + 510.67 + + 499.05 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 863.93 + + 836.33 + + 685.21 + + 569.08 + + 567.05 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 873.24 + + 836.41 + + 685.97 + + 557.70 + + 546.93 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 874.77 + + 852.66 + + 685.77 + + 600.06 + + 592.75 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 86.70 + + 86.11 + + 82.70 + + 81.35 + + 81.23 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 782.58 + + 762.25 + + 631.19 + + 470.31 + + 469.97 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 741.84 + + 715.93 + + 633.48 + + 472.06 + + 462.58 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 739.88 + + 719.38 + + 605.85 + + 437.51 + + 415.07 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 747.09 + + 725.13 + + 572.10 + + 436.95 + + 416.80 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 1966.07 + + 1905.61 + + 1145.80 + + 813.00 + + 778.34 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 2262.43 + + 2174.27 + + 1451.68 + + 1155.14 + + 1081.65 + + 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.98 + + 72.51 + + 68.81 + + 67.41 + + 67.28 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 10026.48 + + 7148.13 + + 2252.14 + + 1596.62 + + 1571.75 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 73.04 + + 72.53 + + 71.20 + + 69.28 + + 68.96 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 222.41 + + 220.27 + + 211.63 + + 208.05 + + 207.07 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 847.40 + + 833.23 + + 681.28 + + 511.54 + + 495.18 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 670.47 + + 662.16 + + 579.79 + + 449.90 + + 433.90 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 2352.53 + + 2184.42 + + 1155.76 + + 698.72 + + 694.13 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 26725.17 + + 9079.50 + + 2348.98 + + 1613.83 + + 1608.28 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 2162.10 + + 2040.08 + + 1137.10 + + 769.63 + + 653.14 + + 152 + + SStore - repeating storing the same 32-byte word in single storage key of single account +
+ SStore - one storage key, repeating two values, zero and non-zero + + 84677.72 + + 8514.14 + + 2518.90 + + 1816.80 + + 1531.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 + + 15781.19 + + 7581.25 + + 2499.54 + + 1758.74 + + 1676.33 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 890.28 + + 755.79 + + 578.95 + + 513.60 + + 506.86 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 988.88 + + 968.49 + + 844.28 + + 621.90 + + 604.73 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 834.35 + + 815.96 + + 646.74 + + 558.79 + + 545.37 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 1202.66 + + 1169.63 + + 892.60 + + 595.30 + + 593.74 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 744.97 + + 727.59 + + 620.18 + + 553.49 + + 550.18 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 1152.39 + + 1127.90 + + 882.78 + + 649.59 + + 615.27 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 890.05 + + 874.28 + + 672.96 + + 588.22 + + 587.29 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 928.57 + + 909.22 + + 757.99 + + 537.42 + + 500.81 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 2415.89 + + 2224.59 + + 1363.07 + + 1076.88 + + 1075.71 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 864.53 + + 830.93 + + 664.47 + + 562.26 + + 560.36 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title ↑ ↓ + + Max (MGas/s) ↑ ↓ + + p50 (MGas/s) ↑ ↓ + + p95 (MGas/s) ↑ ↓ + + p99 (MGas/s) ↑ ↓ + + Min (MGas/s) ↑ ↓ + + N + + Description +
+ Keccak256 from 32 bytes + + 81.10 + + 78.35 + + 71.33 + + 70.66 + + 70.65 + + 112 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 74.74 + + 72.04 + + 66.23 + + 60.60 + + 59.69 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 76.34 + + 73.66 + + 65.45 + + 60.03 + + 59.04 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 212.77 + + 192.82 + + 160.48 + + 143.64 + + 140.80 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 103.90 + + 98.76 + + 84.40 + + 79.15 + + 79.11 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 109.79 + + 104.40 + + 92.93 + + 78.71 + + 76.56 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 140.20 + + 132.64 + + 113.22 + + 108.43 + + 108.33 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 140.67 + + 132.98 + + 109.69 + + 90.15 + + 87.75 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 184.76 + + 170.48 + + 128.83 + + 115.91 + + 115.74 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 182.51 + + 169.67 + + 139.66 + + 122.37 + + 121.42 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 183.12 + + 167.82 + + 133.62 + + 113.40 + + 112.01 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 131.11 + + 123.92 + + 102.52 + + 92.93 + + 92.91 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 202.90 + + 184.80 + + 149.60 + + 131.20 + + 127.36 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 186.27 + + 171.72 + + 135.85 + + 123.98 + + 122.79 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 70.96 + + 66.94 + + 62.45 + + 59.02 + + 58.63 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 129.79 + + 122.08 + + 107.12 + + 110.71 + + 100.44 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 207.23 + + 187.79 + + 153.73 + + 144.73 + + 130.06 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 154.63 + + 136.19 + + 126.84 + + 131.53 + + 114.10 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 124.57 + + 117.13 + + 98.21 + + 103.52 + + 87.63 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 1032.35 + + 702.66 + + 366.83 + + 269.03 + + 245.01 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 1004.03 + + 706.97 + + 345.61 + + 280.72 + + 252.69 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 1141.97 + + 772.30 + + 413.62 + + 289.86 + + 273.45 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 1073.63 + + 733.96 + + 402.25 + + 293.76 + + 261.42 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 1010.22 + + 716.92 + + 403.90 + + 266.45 + + 264.23 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 1018.40 + + 687.16 + + 381.80 + + 282.39 + + 264.53 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 329.22 + + 287.86 + + 217.89 + + 174.80 + + 169.18 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 339.10 + + 293.40 + + 215.21 + + 180.59 + + 177.74 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 333.69 + + 299.83 + + 214.36 + + 170.64 + + 170.28 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 367.68 + + 315.85 + + 219.46 + + 179.05 + + 172.05 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 282.77 + + 251.20 + + 193.90 + + 162.16 + + 157.99 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 286.74 + + 257.86 + + 187.05 + + 149.42 + + 140.63 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 281.93 + + 249.37 + + 196.39 + + 155.23 + + 153.85 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 283.51 + + 255.76 + + 191.24 + + 147.90 + + 143.12 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 287.11 + + 258.47 + + 186.47 + + 143.92 + + 135.36 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 105.65 + + 100.26 + + 88.71 + + 78.22 + + 77.05 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 105.44 + + 100.12 + + 87.91 + + 82.38 + + 82.08 + + 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.41 + + 92.78 + + 83.05 + + 74.72 + + 73.06 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 250.01 + + 222.59 + + 174.51 + + 167.23 + + 167.11 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 97.09 + + 92.82 + + 82.12 + + 80.26 + + 79.90 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 241.82 + + 217.62 + + 169.70 + + 141.98 + + 141.35 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 183.82 + + 169.95 + + 136.70 + + 123.69 + + 123.24 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 153.76 + + 142.83 + + 120.09 + + 96.13 + + 88.24 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 436.34 + + 361.05 + + 250.60 + + 219.10 + + 201.21 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 3903.88 + + 1541.38 + + 408.65 + + 338.73 + + 329.15 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 438.22 + + 360.07 + + 250.52 + + 186.79 + + 186.51 + + 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 + + 10337.88 + + 1876.80 + + 609.83 + + 401.80 + + 395.79 + + 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 + + 2989.98 + + 1237.20 + + 422.94 + + 337.06 + + 332.17 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 205.78 + + 186.03 + + 155.83 + + 125.95 + + 122.07 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 232.23 + + 207.24 + + 166.48 + + 145.21 + + 143.03 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 131.69 + + 124.26 + + 104.54 + + 91.08 + + 90.69 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 209.68 + + 191.15 + + 153.56 + + 145.39 + + 144.10 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 140.08 + + 133.20 + + 114.01 + + 98.38 + + 95.38 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 178.41 + + 163.27 + + 133.46 + + 115.81 + + 114.09 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 183.48 + + 168.96 + + 139.50 + + 135.94 + + 135.72 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 185.56 + + 171.07 + + 133.53 + + 121.58 + + 120.87 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 296.85 + + 235.24 + + 138.37 + + 142.38 + + 123.29 + + 88 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 144.01 + + 137.12 + + 113.54 + + 118.76 + + 106.88 + + 67 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+

+ Besu - hyperledger/besu:24.10.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 + + 87.55 + + 84.20 + + 76.40 + + 71.85 + + 71.78 + + 120 + + Keccak calculations based on 32-byte source data +
+ Keccak256 from 1 byte + + 88.89 + + 85.22 + + 82.26 + + 77.12 + + 76.11 + + 120 + + Keccak calculations based on 1-byte source data +
+ Keccak256 from 8 bytes + + 88.42 + + 84.71 + + 79.15 + + 77.05 + + 76.89 + + 120 + + Keccak calculations based on 8-byte source data +
+ Push0-Pop + + 191.57 + + 182.38 + + 176.43 + + 156.66 + + 151.80 + + 144 + + Endlessly pushing zeros to stack, then popping it +
+ MStore - zero + + 91.72 + + 89.59 + + 85.83 + + 83.62 + + 83.58 + + 120 + + Endlessly pushing zero value to memory with offset zero +
+ MStore - random + + 111.10 + + 108.08 + + 105.23 + + 100.26 + + 98.83 + + 128 + + Endlessly pushing random value to memory with offset zero +
+ PrevRandao + + 122.22 + + 120.56 + + 106.45 + + 100.08 + + 99.18 + + 120 + + Endlessly pushing previous block's randao mix to stack (1000 per 1 contract) +
+ CoinBase + + 124.92 + + 121.01 + + 117.11 + + 113.17 + + 112.81 + + 120 + + Endlessly pushing current block's coinbase to stack (1000 per 1 contract) +
+ Gas + + 99.23 + + 97.47 + + 93.34 + + 89.17 + + 88.49 + + 128 + + Endlessly pushing amount of remaining gas to stack (1000 per 1 contract) +
+ Number + + 97.27 + + 95.53 + + 92.94 + + 90.77 + + 90.76 + + 120 + + Endlessly pushing current block's number to stack (1000 per 1 contract) +
+ Timestamp + + 98.15 + + 95.89 + + 94.12 + + 89.70 + + 89.45 + + 120 + + Endlessly pushing current block's timestamp to stack (1000 per 1 contract) +
+ Caller + + 126.73 + + 122.73 + + 119.67 + + 116.23 + + 115.88 + + 120 + + Endlessly pushing caller address to stack (1000 per 1 contract) +
+ CodeCopy + + 122.25 + + 113.93 + + 108.18 + + 103.67 + + 103.34 + + 128 + + Endlessly loading 32-bytes of code to the memory +
+ BaseFee + + 115.62 + + 113.34 + + 110.25 + + 107.93 + + 107.67 + + 120 + + Endlessly pushing current base fee to stack (1000 per 1 contract) +
+ EcRecover precompile + + 85.58 + + 80.66 + + 76.34 + + 71.45 + + 70.61 + + 136 + + EcRecover precompile calculations +
+ Blake2f 1k rounds + + 92.88 + + 91.71 + + 85.75 + + 87.33 + + 84.34 + + 64 + + Blake2f precompile with 1000 rounds of computations +
+ Blake2f 1 round + + 59.18 + + 57.32 + + 55.33 + + 52.44 + + 50.86 + + 80 + + Blake2f precompile with 1 round of computations +
+ Blake2f 10M rounds + + 150.19 + + 119.40 + + 111.90 + + 128.08 + + 111.40 + + 56 + + Blake2f precompile with 10_000_000 rounds of computations +
+ Blake2f 1M rounds + + 103.83 + + 101.45 + + 98.16 + + 98.62 + + 94.68 + + 56 + + Blake2f precompile with 1_000_000 rounds of computations +
+ Ripemd-160 precompile from 128 bytes + + 377.39 + + 364.81 + + 332.54 + + 271.16 + + 266.45 + + 152 + + Ripemd-160 precompile calculations based on 128-byte source data +
+ RipemdFrom16KBytes + + 510.10 + + 496.93 + + 471.97 + + 402.72 + + 380.98 + + 152 + + Description not found on metadata file +
+ Ripemd-160 precompile from 32 bytes + + 377.45 + + 360.34 + + 335.23 + + 292.75 + + 286.28 + + 152 + + Ripemd-160 precompile calculations based on 32-byte source data +
+ Ripemd-160 precompile from 8 bytes + + 375.96 + + 362.33 + + 344.50 + + 304.94 + + 302.57 + + 152 + + Ripemd-160 precompile calculations based on 8-byte source data +
+ Ripemd-160 precompile from 1 byte + + 378.99 + + 364.80 + + 331.71 + + 307.51 + + 296.83 + + 144 + + Ripemd-160 precompile calculations based on 1-byte source data +
+ RipemdFrom1024Bytes + + 469.60 + + 455.36 + + 422.56 + + 354.30 + + 341.54 + + 152 + + Description not found on metadata file +
+ SHA-2 precompile from 8 bytes + + 96.60 + + 93.85 + + 90.03 + + 87.95 + + 87.94 + + 120 + + SHA-2 precompile calculations based on 8-byte source data +
+ SHA-2 precompile from 1 byte + + 96.88 + + 94.38 + + 90.57 + + 89.99 + + 89.98 + + 120 + + SHA-2 precompile calculations based on 1-byte source data +
+ SHA-2 precompile from 32 bytes + + 95.63 + + 93.07 + + 89.32 + + 88.72 + + 88.70 + + 120 + + SHA-2 precompile calculations based on 32-byte source data +
+ SHA-2 precompile from 128 bytes + + 88.39 + + 85.77 + + 83.60 + + 81.61 + + 81.59 + + 120 + + SHA-2 precompile calculations based on 128-byte source data +
+ Point evaluation - one data + + 86.94 + + 86.02 + + 85.21 + + 84.51 + + 84.35 + + 136 + + Point evaluation precompile repeating computations on the same data +
+ Identity precompile from 128 bytes + + 88.91 + + 86.29 + + 82.99 + + 82.24 + + 82.22 + + 120 + + Identity precompile call based on 128-byte source data +
+ Identity precompile from 32 bytes + + 85.45 + + 82.57 + + 79.38 + + 78.22 + + 78.12 + + 120 + + Identity precompile call based on 32-byte source data +
+ Identity precompile from 8 bytes + + 84.61 + + 81.93 + + 78.68 + + 77.96 + + 77.93 + + 120 + + Identity precompile call based on 8-byte source data +
+ Identity precompile from 1 byte + + 84.64 + + 82.11 + + 78.22 + + 76.71 + + 76.65 + + 120 + + Identity precompile call based on 1-byte source data +
+ EcMul with (1, 2) and scalar 2 + + 1405.98 + + 1252.37 + + 656.16 + + 371.87 + + 321.31 + + 152 + + EcMul precompile with initial point x = 1, y = 2 and scalar equal 2 +
+ EcMul with 32-byte coordinates and scalar 2 + + 1391.89 + + 1274.51 + + 826.71 + + 328.38 + + 270.30 + + 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.34 + + 151.77 + + 131.88 + + 126.18 + + 125.99 + + 136 + + EcMul precompile with initial point with x, y and scalar as 32-byte values +
+ EcMul with (0, 0) and scalar 2 + + 3025.59 + + 2742.31 + + 1105.95 + + 572.76 + + 535.10 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2 +
+ EcMul with (1, 2) and 32-byte scalar + + 155.67 + + 151.79 + + 140.48 + + 116.25 + + 113.98 + + 128 + + EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values +
+ EcMul with (0, 0) and 32-byte scalar + + 3022.11 + + 2705.10 + + 1468.99 + + 729.82 + + 501.73 + + 152 + + EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values +
+ GasLimit + + 98.57 + + 95.89 + + 91.95 + + 89.01 + + 88.59 + + 120 + + Endlessly pushing current block's gas limit to stack (1000 per 1 contract) +
+ JumpDest + + 187.70 + + 184.44 + + 181.05 + + 175.95 + + 175.31 + + 144 + + Block full of JumpDest opcode only +
+ SStore - one storage key, repeating zero value + + 391.40 + + 295.51 + + 225.77 + + 202.27 + + 195.30 + + 152 + + SStore - repeating storing zero in single storage key of single account +
+ SStore - many accounts, consecutive storage keys, random values + + 8383.18 + + 1749.61 + + 875.77 + + 533.92 + + 525.61 + + 152 + + SStore - storing random 32-byte values in consecutive storage keys of many accounts +
+ SStore - one storage key, repeating constant value + + 374.15 + + 287.12 + + 237.15 + + 190.16 + + 170.59 + + 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 + + 28119.12 + + 8817.91 + + 2687.18 + + 2040.74 + + 2025.79 + + 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 + + 5290.77 + + 3340.03 + + 1625.97 + + 841.46 + + 825.67 + + 152 + + SStore - storing random 32-byte values in random storage keys of many accounts +
+ SStore - one storage key, repeating random values + + 314.31 + + 249.39 + + 188.30 + + 165.90 + + 162.06 + + 144 + + SStore - repeating storing random 32-byte values in single storage key of single account +
+ BlobHash + + 150.81 + + 132.67 + + 119.06 + + 115.61 + + 115.17 + + 128 + + Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract) +
+ Address + + 121.55 + + 118.25 + + 97.74 + + 92.07 + + 90.83 + + 128 + + Endlessly pushing account address to stack (1000 per 1 contract) +
+ Gas-Pop + + 129.22 + + 120.46 + + 105.14 + + 98.78 + + 96.72 + + 136 + + Endlessly pushing amount of remaining gas to stack, then popping it +
+ Origin + + 123.81 + + 119.11 + + 116.06 + + 109.51 + + 109.10 + + 120 + + Endlessly pushing execution origination address to stack (1000 per 1 contract) +
+ Caller-Pop + + 157.49 + + 149.05 + + 145.73 + + 107.72 + + 90.15 + + 144 + + Endlessly pushing caller address to stack, then popping it +
+ MSize + + 96.23 + + 92.86 + + 77.31 + + 75.16 + + 74.89 + + 120 + + Endlessly pushing memory size to stack (1000 per 1 contract) +
+ Push0 + + 118.74 + + 113.49 + + 109.44 + + 106.84 + + 106.20 + + 136 + + Endlessly pushing zeros to stack (1000 per 1 contract) +
+ ETH transfers + + 974.25 + + 905.14 + + 688.05 + + 630.34 + + 624.17 + + 128 + + All block gas limit consumed by simple ETH transfers +
+ ChainId + + 122.90 + + 119.99 + + 78.07 + + 73.25 + + 72.93 + + 128 + + Endlessly pushing chain ID to stack (1000 per 1 contract) +
+ + + diff --git a/gas/20241026.json b/gas/20241026.json new file mode 100644 index 0000000..e9937c0 --- /dev/null +++ b/gas/20241026.json @@ -0,0 +1,2862 @@ +{ + "nethermind": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "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": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "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": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "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": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "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": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "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": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "SStore - repeating storing zero in single storage key of single account" + }, + "SStoreManyAccountsConsecutiveKeysRandomValue": { + "title": "SStore - many accounts, consecutive storage keys, random values", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "SStore - storing random 32-byte values in consecutive storage keys of many accounts" + }, + "SStoreOneAccountOneKeyConstantValue": { + "title": "SStore - one storage key, repeating constant value", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "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": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "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": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "SStore - storing random 32-byte values in random storage keys of many accounts" + }, + "SStoreOneAccountOneKeyRandomValue": { + "title": "SStore - one storage key, repeating random values", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract)" + }, + "Address": { + "title": "Address", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "0", + "p50": "0", + "p95": "0", + "p99": "0", + "min": "0", + "n": "0", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "geth": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "87.83", + "p50": "84.45", + "p95": "78.25", + "p99": "75.00", + "min": "74.96", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "80.83", + "p50": "77.97", + "p95": "71.67", + "p99": "68.94", + "min": "68.63", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "82.15", + "p50": "79.32", + "p95": "72.84", + "p99": "71.10", + "min": "71.06", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "227.28", + "p50": "210.69", + "p95": "181.74", + "p99": "160.34", + "min": "158.61", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "170.54", + "p50": "160.93", + "p95": "139.89", + "p99": "125.08", + "min": "122.56", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "180.68", + "p50": "167.20", + "p95": "143.34", + "p99": "118.26", + "min": "110.77", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "173.99", + "p50": "158.43", + "p95": "135.69", + "p99": "116.74", + "min": "113.24", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "169.53", + "p50": "157.57", + "p95": "135.48", + "p99": "82.51", + "min": "70.51", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "191.43", + "p50": "177.74", + "p95": "149.37", + "p99": "143.87", + "min": "143.34", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "172.58", + "p50": "161.49", + "p95": "139.75", + "p99": "133.15", + "min": "132.43", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "192.11", + "p50": "178.91", + "p95": "153.99", + "p99": "142.42", + "min": "141.39", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "145.75", + "p50": "136.09", + "p95": "120.10", + "p99": "105.47", + "min": "102.47", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "220.61", + "p50": "204.21", + "p95": "170.20", + "p99": "141.88", + "min": "134.69", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "172.85", + "p50": "160.15", + "p95": "133.95", + "p99": "101.42", + "min": "98.17", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "68.79", + "p50": "64.78", + "p95": "60.07", + "p99": "56.96", + "min": "56.30", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "140.25", + "p50": "128.34", + "p95": "113.34", + "p99": "118.64", + "min": "107.01", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "368.08", + "p50": "306.39", + "p95": "214.94", + "p99": "222.43", + "min": "188.27", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "173.55", + "p50": "142.97", + "p95": "134.52", + "p99": "150.47", + "min": "133.05", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "129.68", + "p50": "122.51", + "p95": "110.66", + "p99": "115.93", + "min": "105.56", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1109.58", + "p50": "889.07", + "p95": "528.42", + "p99": "438.71", + "min": "436.14", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1024.87", + "p50": "822.33", + "p95": "467.88", + "p99": "394.48", + "min": "386.15", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "1362.84", + "p50": "982.50", + "p95": "541.74", + "p99": "395.18", + "min": "364.70", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "1234.76", + "p50": "954.46", + "p95": "573.04", + "p99": "419.28", + "min": "409.87", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "1179.42", + "p50": "892.64", + "p95": "522.45", + "p99": "438.17", + "min": "435.88", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1078.86", + "p50": "822.74", + "p95": "486.86", + "p99": "398.66", + "min": "391.05", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "626.26", + "p50": "500.84", + "p95": "361.09", + "p99": "274.37", + "min": "260.60", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "635.14", + "p50": "505.84", + "p95": "347.31", + "p99": "308.76", + "min": "305.81", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "646.59", + "p50": "514.20", + "p95": "377.81", + "p99": "289.37", + "min": "276.49", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "650.07", + "p50": "535.05", + "p95": "371.59", + "p99": "296.73", + "min": "291.81", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "292.36", + "p50": "264.17", + "p95": "216.47", + "p99": "198.88", + "min": "196.20", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "523.30", + "p50": "422.50", + "p95": "310.35", + "p99": "279.34", + "min": "278.15", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "541.10", + "p50": "442.41", + "p95": "319.64", + "p99": "295.97", + "min": "295.59", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "548.85", + "p50": "448.88", + "p95": "348.98", + "p99": "306.27", + "min": "304.71", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "552.27", + "p50": "459.73", + "p95": "326.34", + "p99": "300.19", + "min": "298.24", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "106.36", + "p50": "101.47", + "p95": "92.33", + "p99": "86.55", + "min": "85.78", + "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.35", + "p50": "102.05", + "p95": "92.76", + "p99": "84.50", + "min": "82.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": "98.86", + "p50": "94.77", + "p95": "85.19", + "p99": "81.38", + "min": "80.36", + "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": "254.15", + "p50": "231.16", + "p95": "191.89", + "p99": "173.64", + "min": "173.48", + "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.38", + "p95": "85.23", + "p99": "83.44", + "min": "83.25", + "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": "245.79", + "p50": "223.58", + "p95": "177.44", + "p99": "168.71", + "min": "168.57", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "195.92", + "p50": "179.99", + "p95": "154.78", + "p99": "145.31", + "min": "144.77", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "200.10", + "p50": "184.83", + "p95": "158.69", + "p99": "90.02", + "min": "42.97", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "361.93", + "p50": "309.80", + "p95": "247.95", + "p99": "197.72", + "min": "172.11", + "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": "5017.84", + "p50": "2321.09", + "p95": "1003.70", + "p99": "844.36", + "min": "840.19", + "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": "346.62", + "p50": "306.38", + "p95": "253.53", + "p99": "213.97", + "min": "213.46", + "n": "152", + "description": "SStore - repeating storing the same 32-byte word in single storage key of single account" + }, + "SStoreOneAccountOneKeyTwoValues": { + "title": "SStore - one storage key, repeating two values, zero and non-zero", + "max": "13329.85", + "p50": "3659.45", + "p95": "1341.54", + "p99": "915.76", + "min": "691.01", + "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": "3337.35", + "p50": "2053.37", + "p95": "843.87", + "p99": "547.62", + "min": "505.26", + "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": "162.72", + "p50": "139.47", + "p95": "122.42", + "p99": "108.85", + "min": "107.63", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "244.27", + "p50": "224.71", + "p95": "185.33", + "p99": "120.85", + "min": "101.18", + "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": "90.59", + "p50": "87.09", + "p95": "80.18", + "p99": "76.18", + "min": "75.98", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "225.88", + "p50": "207.38", + "p95": "174.56", + "p99": "158.67", + "min": "157.36", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "170.76", + "p50": "159.40", + "p95": "135.94", + "p99": "132.38", + "min": "132.33", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "202.70", + "p50": "187.41", + "p95": "154.85", + "p99": "141.31", + "min": "134.55", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "196.24", + "p50": "180.26", + "p95": "159.72", + "p99": "149.02", + "min": "148.81", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "193.79", + "p50": "179.97", + "p95": "151.04", + "p99": "144.99", + "min": "144.72", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "1143.20", + "p50": "954.06", + "p95": "603.96", + "p99": "522.89", + "min": "513.97", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "170.51", + "p50": "160.02", + "p95": "143.03", + "p99": "125.58", + "min": "122.33", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "reth": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "193.98", + "p50": "192.37", + "p95": "178.56", + "p99": "167.66", + "min": "166.34", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "194.92", + "p50": "193.14", + "p95": "180.26", + "p99": "168.14", + "min": "167.86", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "195.38", + "p50": "193.55", + "p95": "183.10", + "p99": "174.85", + "min": "173.57", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "1191.66", + "p50": "1163.44", + "p95": "891.34", + "p99": "672.18", + "min": "619.80", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "701.16", + "p50": "693.99", + "p95": "621.19", + "p99": "497.02", + "min": "487.73", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "812.09", + "p50": "796.93", + "p95": "677.72", + "p99": "615.17", + "min": "612.73", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "735.27", + "p50": "720.85", + "p95": "645.50", + "p99": "499.89", + "min": "486.40", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "748.39", + "p50": "730.12", + "p95": "590.29", + "p99": "477.25", + "min": "459.13", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "876.58", + "p50": "835.55", + "p95": "696.21", + "p99": "576.46", + "min": "564.00", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "873.92", + "p50": "834.85", + "p95": "691.53", + "p99": "522.83", + "min": "514.54", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "859.22", + "p50": "833.56", + "p95": "663.18", + "p99": "536.01", + "min": "532.61", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "841.01", + "p50": "820.58", + "p95": "682.11", + "p99": "586.31", + "min": "567.77", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "886.84", + "p50": "867.44", + "p95": "642.23", + "p99": "335.54", + "min": "328.43", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "871.14", + "p50": "834.97", + "p95": "736.85", + "p99": "507.57", + "min": "491.26", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "64.34", + "p50": "62.95", + "p95": "61.86", + "p99": "59.98", + "min": "59.92", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "98.09", + "p50": "97.14", + "p95": "95.63", + "p99": "93.45", + "min": "90.95", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "597.63", + "p50": "579.34", + "p95": "472.72", + "p99": "435.03", + "min": "396.88", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "137.64", + "p50": "106.61", + "p95": "98.87", + "p99": "115.30", + "min": "98.45", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "94.09", + "p50": "90.57", + "p95": "88.86", + "p99": "90.69", + "min": "88.13", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1934.91", + "p50": "1875.44", + "p95": "899.51", + "p99": "673.74", + "min": "611.95", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1640.71", + "p50": "1595.58", + "p95": "1073.39", + "p99": "692.60", + "min": "685.12", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "2527.74", + "p50": "2396.64", + "p95": "1355.45", + "p99": "977.41", + "min": "970.08", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "2498.44", + "p50": "2394.56", + "p95": "1308.34", + "p99": "860.35", + "min": "818.59", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "2493.14", + "p50": "2361.99", + "p95": "1397.64", + "p99": "771.83", + "min": "750.73", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1707.87", + "p50": "1643.72", + "p95": "1074.85", + "p99": "711.81", + "min": "698.45", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "855.24", + "p50": "832.94", + "p95": "685.91", + "p99": "510.67", + "min": "499.05", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "863.93", + "p50": "836.33", + "p95": "685.21", + "p99": "569.08", + "min": "567.05", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "873.24", + "p50": "836.41", + "p95": "685.97", + "p99": "557.70", + "min": "546.93", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "874.77", + "p50": "852.66", + "p95": "685.77", + "p99": "600.06", + "min": "592.75", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "86.70", + "p50": "86.11", + "p95": "82.70", + "p99": "81.35", + "min": "81.23", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "782.58", + "p50": "762.25", + "p95": "631.19", + "p99": "470.31", + "min": "469.97", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "741.84", + "p50": "715.93", + "p95": "633.48", + "p99": "472.06", + "min": "462.58", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "739.88", + "p50": "719.38", + "p95": "605.85", + "p99": "437.51", + "min": "415.07", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "747.09", + "p50": "725.13", + "p95": "572.10", + "p99": "436.95", + "min": "416.80", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "1966.07", + "p50": "1905.61", + "p95": "1145.80", + "p99": "813.00", + "min": "778.34", + "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": "2262.43", + "p50": "2174.27", + "p95": "1451.68", + "p99": "1155.14", + "min": "1081.65", + "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.98", + "p50": "72.51", + "p95": "68.81", + "p99": "67.41", + "min": "67.28", + "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": "10026.48", + "p50": "7148.13", + "p95": "2252.14", + "p99": "1596.62", + "min": "1571.75", + "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": "73.04", + "p50": "72.53", + "p95": "71.20", + "p99": "69.28", + "min": "68.96", + "n": "128", + "description": "EcMul precompile with initial point x = 1, y = 2 scalar as 32-byte values" + }, + "EcMulInfinities32ByteScalar": { + "title": "EcMul with (0, 0) and 32-byte scalar", + "max": "222.41", + "p50": "220.27", + "p95": "211.63", + "p99": "208.05", + "min": "207.07", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "847.40", + "p50": "833.23", + "p95": "681.28", + "p99": "511.54", + "min": "495.18", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "670.47", + "p50": "662.16", + "p95": "579.79", + "p99": "449.90", + "min": "433.90", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "2352.53", + "p50": "2184.42", + "p95": "1155.76", + "p99": "698.72", + "min": "694.13", + "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": "26725.17", + "p50": "9079.50", + "p95": "2348.98", + "p99": "1613.83", + "min": "1608.28", + "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": "2162.10", + "p50": "2040.08", + "p95": "1137.10", + "p99": "769.63", + "min": "653.14", + "n": "152", + "description": "SStore - repeating storing the same 32-byte word in single storage key of single account" + }, + "SStoreOneAccountOneKeyTwoValues": { + "title": "SStore - one storage key, repeating two values, zero and non-zero", + "max": "84677.72", + "p50": "8514.14", + "p95": "2518.90", + "p99": "1816.80", + "min": "1531.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": "15781.19", + "p50": "7581.25", + "p95": "2499.54", + "p99": "1758.74", + "min": "1676.33", + "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": "890.28", + "p50": "755.79", + "p95": "578.95", + "p99": "513.60", + "min": "506.86", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "988.88", + "p50": "968.49", + "p95": "844.28", + "p99": "621.90", + "min": "604.73", + "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": "834.35", + "p50": "815.96", + "p95": "646.74", + "p99": "558.79", + "min": "545.37", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "1202.66", + "p50": "1169.63", + "p95": "892.60", + "p99": "595.30", + "min": "593.74", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "744.97", + "p50": "727.59", + "p95": "620.18", + "p99": "553.49", + "min": "550.18", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "1152.39", + "p50": "1127.90", + "p95": "882.78", + "p99": "649.59", + "min": "615.27", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "890.05", + "p50": "874.28", + "p95": "672.96", + "p99": "588.22", + "min": "587.29", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "928.57", + "p50": "909.22", + "p95": "757.99", + "p99": "537.42", + "min": "500.81", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "2415.89", + "p50": "2224.59", + "p95": "1363.07", + "p99": "1076.88", + "min": "1075.71", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "864.53", + "p50": "830.93", + "p95": "664.47", + "p99": "562.26", + "min": "560.36", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "erigon": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "81.10", + "p50": "78.35", + "p95": "71.33", + "p99": "70.66", + "min": "70.65", + "n": "112", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "74.74", + "p50": "72.04", + "p95": "66.23", + "p99": "60.60", + "min": "59.69", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "76.34", + "p50": "73.66", + "p95": "65.45", + "p99": "60.03", + "min": "59.04", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "212.77", + "p50": "192.82", + "p95": "160.48", + "p99": "143.64", + "min": "140.80", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "103.90", + "p50": "98.76", + "p95": "84.40", + "p99": "79.15", + "min": "79.11", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "109.79", + "p50": "104.40", + "p95": "92.93", + "p99": "78.71", + "min": "76.56", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "140.20", + "p50": "132.64", + "p95": "113.22", + "p99": "108.43", + "min": "108.33", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "140.67", + "p50": "132.98", + "p95": "109.69", + "p99": "90.15", + "min": "87.75", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "184.76", + "p50": "170.48", + "p95": "128.83", + "p99": "115.91", + "min": "115.74", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "182.51", + "p50": "169.67", + "p95": "139.66", + "p99": "122.37", + "min": "121.42", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "183.12", + "p50": "167.82", + "p95": "133.62", + "p99": "113.40", + "min": "112.01", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "131.11", + "p50": "123.92", + "p95": "102.52", + "p99": "92.93", + "min": "92.91", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "202.90", + "p50": "184.80", + "p95": "149.60", + "p99": "131.20", + "min": "127.36", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "186.27", + "p50": "171.72", + "p95": "135.85", + "p99": "123.98", + "min": "122.79", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "70.96", + "p50": "66.94", + "p95": "62.45", + "p99": "59.02", + "min": "58.63", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "129.79", + "p50": "122.08", + "p95": "107.12", + "p99": "110.71", + "min": "100.44", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "207.23", + "p50": "187.79", + "p95": "153.73", + "p99": "144.73", + "min": "130.06", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "154.63", + "p50": "136.19", + "p95": "126.84", + "p99": "131.53", + "min": "114.10", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "124.57", + "p50": "117.13", + "p95": "98.21", + "p99": "103.52", + "min": "87.63", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "1032.35", + "p50": "702.66", + "p95": "366.83", + "p99": "269.03", + "min": "245.01", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "1004.03", + "p50": "706.97", + "p95": "345.61", + "p99": "280.72", + "min": "252.69", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "1141.97", + "p50": "772.30", + "p95": "413.62", + "p99": "289.86", + "min": "273.45", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "1073.63", + "p50": "733.96", + "p95": "402.25", + "p99": "293.76", + "min": "261.42", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "1010.22", + "p50": "716.92", + "p95": "403.90", + "p99": "266.45", + "min": "264.23", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "1018.40", + "p50": "687.16", + "p95": "381.80", + "p99": "282.39", + "min": "264.53", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "329.22", + "p50": "287.86", + "p95": "217.89", + "p99": "174.80", + "min": "169.18", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "339.10", + "p50": "293.40", + "p95": "215.21", + "p99": "180.59", + "min": "177.74", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "333.69", + "p50": "299.83", + "p95": "214.36", + "p99": "170.64", + "min": "170.28", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "367.68", + "p50": "315.85", + "p95": "219.46", + "p99": "179.05", + "min": "172.05", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "282.77", + "p50": "251.20", + "p95": "193.90", + "p99": "162.16", + "min": "157.99", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "286.74", + "p50": "257.86", + "p95": "187.05", + "p99": "149.42", + "min": "140.63", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "281.93", + "p50": "249.37", + "p95": "196.39", + "p99": "155.23", + "min": "153.85", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "283.51", + "p50": "255.76", + "p95": "191.24", + "p99": "147.90", + "min": "143.12", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "287.11", + "p50": "258.47", + "p95": "186.47", + "p99": "143.92", + "min": "135.36", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "105.65", + "p50": "100.26", + "p95": "88.71", + "p99": "78.22", + "min": "77.05", + "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.44", + "p50": "100.12", + "p95": "87.91", + "p99": "82.38", + "min": "82.08", + "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.41", + "p50": "92.78", + "p95": "83.05", + "p99": "74.72", + "min": "73.06", + "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": "250.01", + "p50": "222.59", + "p95": "174.51", + "p99": "167.23", + "min": "167.11", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar equal 2" + }, + "EcMul12And32ByteScalar": { + "title": "EcMul with (1, 2) and 32-byte scalar", + "max": "97.09", + "p50": "92.82", + "p95": "82.12", + "p99": "80.26", + "min": "79.90", + "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": "241.82", + "p50": "217.62", + "p95": "169.70", + "p99": "141.98", + "min": "141.35", + "n": "152", + "description": "EcMul precompile with initial point with x = 0 and y = 0 and scalar as 32-byte values" + }, + "GasLimit": { + "title": "GasLimit", + "max": "183.82", + "p50": "169.95", + "p95": "136.70", + "p99": "123.69", + "min": "123.24", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "153.76", + "p50": "142.83", + "p95": "120.09", + "p99": "96.13", + "min": "88.24", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "436.34", + "p50": "361.05", + "p95": "250.60", + "p99": "219.10", + "min": "201.21", + "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": "3903.88", + "p50": "1541.38", + "p95": "408.65", + "p99": "338.73", + "min": "329.15", + "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": "438.22", + "p50": "360.07", + "p95": "250.52", + "p99": "186.79", + "min": "186.51", + "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": "10337.88", + "p50": "1876.80", + "p95": "609.83", + "p99": "401.80", + "min": "395.79", + "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": "2989.98", + "p50": "1237.20", + "p95": "422.94", + "p99": "337.06", + "min": "332.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": "205.78", + "p50": "186.03", + "p95": "155.83", + "p99": "125.95", + "min": "122.07", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "232.23", + "p50": "207.24", + "p95": "166.48", + "p99": "145.21", + "min": "143.03", + "n": "128", + "description": "Endlessly pushing zero as index and BlobHash opcode to stack when there were no blobs (1000 per 1 contract)" + }, + "Address": { + "title": "Address", + "max": "131.69", + "p50": "124.26", + "p95": "104.54", + "p99": "91.08", + "min": "90.69", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "209.68", + "p50": "191.15", + "p95": "153.56", + "p99": "145.39", + "min": "144.10", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "140.08", + "p50": "133.20", + "p95": "114.01", + "p99": "98.38", + "min": "95.38", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "178.41", + "p50": "163.27", + "p95": "133.46", + "p99": "115.81", + "min": "114.09", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "183.48", + "p50": "168.96", + "p95": "139.50", + "p99": "135.94", + "min": "135.72", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "185.56", + "p50": "171.07", + "p95": "133.53", + "p99": "121.58", + "min": "120.87", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "296.85", + "p50": "235.24", + "p95": "138.37", + "p99": "142.38", + "min": "123.29", + "n": "88", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "144.01", + "p50": "137.12", + "p95": "113.54", + "p99": "118.76", + "min": "106.88", + "n": "67", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + }, + "besu": { + "Keccak256From32Bytes": { + "title": "Keccak256 from 32 bytes", + "max": "87.55", + "p50": "84.20", + "p95": "76.40", + "p99": "71.85", + "min": "71.78", + "n": "120", + "description": "Keccak calculations based on 32-byte source data" + }, + "Keccak256From1Byte": { + "title": "Keccak256 from 1 byte", + "max": "88.89", + "p50": "85.22", + "p95": "82.26", + "p99": "77.12", + "min": "76.11", + "n": "120", + "description": "Keccak calculations based on 1-byte source data" + }, + "Keccak256From8Bytes": { + "title": "Keccak256 from 8 bytes", + "max": "88.42", + "p50": "84.71", + "p95": "79.15", + "p99": "77.05", + "min": "76.89", + "n": "120", + "description": "Keccak calculations based on 8-byte source data" + }, + "Push0Pop": { + "title": "Push0-Pop", + "max": "191.57", + "p50": "182.38", + "p95": "176.43", + "p99": "156.66", + "min": "151.80", + "n": "144", + "description": "Endlessly pushing zeros to stack, then popping it" + }, + "MStoreZero": { + "title": "MStore - zero", + "max": "91.72", + "p50": "89.59", + "p95": "85.83", + "p99": "83.62", + "min": "83.58", + "n": "120", + "description": "Endlessly pushing zero value to memory with offset zero" + }, + "MStoreRandom": { + "title": "MStore - random", + "max": "111.10", + "p50": "108.08", + "p95": "105.23", + "p99": "100.26", + "min": "98.83", + "n": "128", + "description": "Endlessly pushing random value to memory with offset zero" + }, + "PrevRandao": { + "title": "PrevRandao", + "max": "122.22", + "p50": "120.56", + "p95": "106.45", + "p99": "100.08", + "min": "99.18", + "n": "120", + "description": "Endlessly pushing previous block's randao mix to stack (1000 per 1 contract)" + }, + "CoinBase": { + "title": "CoinBase", + "max": "124.92", + "p50": "121.01", + "p95": "117.11", + "p99": "113.17", + "min": "112.81", + "n": "120", + "description": "Endlessly pushing current block's coinbase to stack (1000 per 1 contract)" + }, + "Gas": { + "title": "Gas", + "max": "99.23", + "p50": "97.47", + "p95": "93.34", + "p99": "89.17", + "min": "88.49", + "n": "128", + "description": "Endlessly pushing amount of remaining gas to stack (1000 per 1 contract)" + }, + "Number": { + "title": "Number", + "max": "97.27", + "p50": "95.53", + "p95": "92.94", + "p99": "90.77", + "min": "90.76", + "n": "120", + "description": "Endlessly pushing current block's number to stack (1000 per 1 contract)" + }, + "Timestamp": { + "title": "Timestamp", + "max": "98.15", + "p50": "95.89", + "p95": "94.12", + "p99": "89.70", + "min": "89.45", + "n": "120", + "description": "Endlessly pushing current block's timestamp to stack (1000 per 1 contract)" + }, + "Caller": { + "title": "Caller", + "max": "126.73", + "p50": "122.73", + "p95": "119.67", + "p99": "116.23", + "min": "115.88", + "n": "120", + "description": "Endlessly pushing caller address to stack (1000 per 1 contract)" + }, + "CodeCopy": { + "title": "CodeCopy", + "max": "122.25", + "p50": "113.93", + "p95": "108.18", + "p99": "103.67", + "min": "103.34", + "n": "128", + "description": "Endlessly loading 32-bytes of code to the memory" + }, + "BaseFee": { + "title": "BaseFee", + "max": "115.62", + "p50": "113.34", + "p95": "110.25", + "p99": "107.93", + "min": "107.67", + "n": "120", + "description": "Endlessly pushing current base fee to stack (1000 per 1 contract)" + }, + "EcRecover": { + "title": "EcRecover precompile", + "max": "85.58", + "p50": "80.66", + "p95": "76.34", + "p99": "71.45", + "min": "70.61", + "n": "136", + "description": "EcRecover precompile calculations" + }, + "Blake1KRounds": { + "title": "Blake2f 1k rounds", + "max": "92.88", + "p50": "91.71", + "p95": "85.75", + "p99": "87.33", + "min": "84.34", + "n": "64", + "description": "Blake2f precompile with 1000 rounds of computations" + }, + "Blake1Round": { + "title": "Blake2f 1 round", + "max": "59.18", + "p50": "57.32", + "p95": "55.33", + "p99": "52.44", + "min": "50.86", + "n": "80", + "description": "Blake2f precompile with 1 round of computations" + }, + "Blake10MRounds": { + "title": "Blake2f 10M rounds", + "max": "150.19", + "p50": "119.40", + "p95": "111.90", + "p99": "128.08", + "min": "111.40", + "n": "56", + "description": "Blake2f precompile with 10_000_000 rounds of computations" + }, + "Blake1MRounds": { + "title": "Blake2f 1M rounds", + "max": "103.83", + "p50": "101.45", + "p95": "98.16", + "p99": "98.62", + "min": "94.68", + "n": "56", + "description": "Blake2f precompile with 1_000_000 rounds of computations" + }, + "RipemdFrom128Bytes": { + "title": "Ripemd-160 precompile from 128 bytes", + "max": "377.39", + "p50": "364.81", + "p95": "332.54", + "p99": "271.16", + "min": "266.45", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 128-byte source data" + }, + "RipemdFrom16KBytes": { + "title": "RipemdFrom16KBytes", + "max": "510.10", + "p50": "496.93", + "p95": "471.97", + "p99": "402.72", + "min": "380.98", + "n": "152", + "description": "Description not found on metadata file" + }, + "RipemdFrom32Bytes": { + "title": "Ripemd-160 precompile from 32 bytes", + "max": "377.45", + "p50": "360.34", + "p95": "335.23", + "p99": "292.75", + "min": "286.28", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 32-byte source data" + }, + "RipemdFrom8Bytes": { + "title": "Ripemd-160 precompile from 8 bytes", + "max": "375.96", + "p50": "362.33", + "p95": "344.50", + "p99": "304.94", + "min": "302.57", + "n": "152", + "description": "Ripemd-160 precompile calculations based on 8-byte source data" + }, + "RipemdFrom1Byte": { + "title": "Ripemd-160 precompile from 1 byte", + "max": "378.99", + "p50": "364.80", + "p95": "331.71", + "p99": "307.51", + "min": "296.83", + "n": "144", + "description": "Ripemd-160 precompile calculations based on 1-byte source data" + }, + "RipemdFrom1024Bytes": { + "title": "RipemdFrom1024Bytes", + "max": "469.60", + "p50": "455.36", + "p95": "422.56", + "p99": "354.30", + "min": "341.54", + "n": "152", + "description": "Description not found on metadata file" + }, + "SHA2From8Bytes": { + "title": "SHA-2 precompile from 8 bytes", + "max": "96.60", + "p50": "93.85", + "p95": "90.03", + "p99": "87.95", + "min": "87.94", + "n": "120", + "description": "SHA-2 precompile calculations based on 8-byte source data" + }, + "SHA2From1Byte": { + "title": "SHA-2 precompile from 1 byte", + "max": "96.88", + "p50": "94.38", + "p95": "90.57", + "p99": "89.99", + "min": "89.98", + "n": "120", + "description": "SHA-2 precompile calculations based on 1-byte source data" + }, + "SHA2From32Bytes": { + "title": "SHA-2 precompile from 32 bytes", + "max": "95.63", + "p50": "93.07", + "p95": "89.32", + "p99": "88.72", + "min": "88.70", + "n": "120", + "description": "SHA-2 precompile calculations based on 32-byte source data" + }, + "SHA2From128Bytes": { + "title": "SHA-2 precompile from 128 bytes", + "max": "88.39", + "p50": "85.77", + "p95": "83.60", + "p99": "81.61", + "min": "81.59", + "n": "120", + "description": "SHA-2 precompile calculations based on 128-byte source data" + }, + "PointEvaluationOneData": { + "title": "Point evaluation - one data", + "max": "86.94", + "p50": "86.02", + "p95": "85.21", + "p99": "84.51", + "min": "84.35", + "n": "136", + "description": "Point evaluation precompile repeating computations on the same data" + }, + "IdentityFrom128Bytes": { + "title": "Identity precompile from 128 bytes", + "max": "88.91", + "p50": "86.29", + "p95": "82.99", + "p99": "82.24", + "min": "82.22", + "n": "120", + "description": "Identity precompile call based on 128-byte source data" + }, + "IdentityFrom32Bytes": { + "title": "Identity precompile from 32 bytes", + "max": "85.45", + "p50": "82.57", + "p95": "79.38", + "p99": "78.22", + "min": "78.12", + "n": "120", + "description": "Identity precompile call based on 32-byte source data" + }, + "IdentityFrom8Bytes": { + "title": "Identity precompile from 8 bytes", + "max": "84.61", + "p50": "81.93", + "p95": "78.68", + "p99": "77.96", + "min": "77.93", + "n": "120", + "description": "Identity precompile call based on 8-byte source data" + }, + "IdentityFrom1Byte": { + "title": "Identity precompile from 1 byte", + "max": "84.64", + "p50": "82.11", + "p95": "78.22", + "p99": "76.71", + "min": "76.65", + "n": "120", + "description": "Identity precompile call based on 1-byte source data" + }, + "EcMul122": { + "title": "EcMul with (1, 2) and scalar 2", + "max": "1405.98", + "p50": "1252.37", + "p95": "656.16", + "p99": "371.87", + "min": "321.31", + "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": "1391.89", + "p50": "1274.51", + "p95": "826.71", + "p99": "328.38", + "min": "270.30", + "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.34", + "p50": "151.77", + "p95": "131.88", + "p99": "126.18", + "min": "125.99", + "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": "3025.59", + "p50": "2742.31", + "p95": "1105.95", + "p99": "572.76", + "min": "535.10", + "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": "155.67", + "p50": "151.79", + "p95": "140.48", + "p99": "116.25", + "min": "113.98", + "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": "3022.11", + "p50": "2705.10", + "p95": "1468.99", + "p99": "729.82", + "min": "501.73", + "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.57", + "p50": "95.89", + "p95": "91.95", + "p99": "89.01", + "min": "88.59", + "n": "120", + "description": "Endlessly pushing current block's gas limit to stack (1000 per 1 contract)" + }, + "JumpDest": { + "title": "JumpDest", + "max": "187.70", + "p50": "184.44", + "p95": "181.05", + "p99": "175.95", + "min": "175.31", + "n": "144", + "description": "Block full of JumpDest opcode only" + }, + "SStoreOneAccountOneKeyZeroValue": { + "title": "SStore - one storage key, repeating zero value", + "max": "391.40", + "p50": "295.51", + "p95": "225.77", + "p99": "202.27", + "min": "195.30", + "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": "8383.18", + "p50": "1749.61", + "p95": "875.77", + "p99": "533.92", + "min": "525.61", + "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": "374.15", + "p50": "287.12", + "p95": "237.15", + "p99": "190.16", + "min": "170.59", + "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": "28119.12", + "p50": "8817.91", + "p95": "2687.18", + "p99": "2040.74", + "min": "2025.79", + "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": "5290.77", + "p50": "3340.03", + "p95": "1625.97", + "p99": "841.46", + "min": "825.67", + "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": "314.31", + "p50": "249.39", + "p95": "188.30", + "p99": "165.90", + "min": "162.06", + "n": "144", + "description": "SStore - repeating storing random 32-byte values in single storage key of single account" + }, + "BlobHashZero": { + "title": "BlobHash", + "max": "150.81", + "p50": "132.67", + "p95": "119.06", + "p99": "115.61", + "min": "115.17", + "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": "121.55", + "p50": "118.25", + "p95": "97.74", + "p99": "92.07", + "min": "90.83", + "n": "128", + "description": "Endlessly pushing account address to stack (1000 per 1 contract)" + }, + "GasPop": { + "title": "Gas-Pop", + "max": "129.22", + "p50": "120.46", + "p95": "105.14", + "p99": "98.78", + "min": "96.72", + "n": "136", + "description": "Endlessly pushing amount of remaining gas to stack, then popping it" + }, + "Origin": { + "title": "Origin", + "max": "123.81", + "p50": "119.11", + "p95": "116.06", + "p99": "109.51", + "min": "109.10", + "n": "120", + "description": "Endlessly pushing execution origination address to stack (1000 per 1 contract)" + }, + "CallerPop": { + "title": "Caller-Pop", + "max": "157.49", + "p50": "149.05", + "p95": "145.73", + "p99": "107.72", + "min": "90.15", + "n": "144", + "description": "Endlessly pushing caller address to stack, then popping it" + }, + "MSize": { + "title": "MSize", + "max": "96.23", + "p50": "92.86", + "p95": "77.31", + "p99": "75.16", + "min": "74.89", + "n": "120", + "description": "Endlessly pushing memory size to stack (1000 per 1 contract)" + }, + "Push0": { + "title": "Push0", + "max": "118.74", + "p50": "113.49", + "p95": "109.44", + "p99": "106.84", + "min": "106.20", + "n": "136", + "description": "Endlessly pushing zeros to stack (1000 per 1 contract)" + }, + "Transfers": { + "title": "ETH transfers", + "max": "974.25", + "p50": "905.14", + "p95": "688.05", + "p99": "630.34", + "min": "624.17", + "n": "128", + "description": "All block gas limit consumed by simple ETH transfers" + }, + "ChainId": { + "title": "ChainId", + "max": "122.90", + "p50": "119.99", + "p95": "78.07", + "p99": "73.25", + "min": "72.93", + "n": "128", + "description": "Endlessly pushing chain ID to stack (1000 per 1 contract)" + } + } +} \ No newline at end of file diff --git a/gas/20241026.metadata.json b/gas/20241026.metadata.json new file mode 100644 index 0000000..be480db --- /dev/null +++ b/gas/20241026.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.63575 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.29.1", + "geth": "ethereum/client-go:v1.14.11", + "reth": "ghcr.io/paradigmxyz/reth:v1.1.0", + "erigon": "thorax/erigon:2.60.8", + "besu": "hyperledger/besu:24.10.0" + } + } +} \ No newline at end of file diff --git a/genesis-data/20241026.json b/genesis-data/20241026.json new file mode 100644 index 0000000..4e8c270 --- /dev/null +++ b/genesis-data/20241026.json @@ -0,0 +1,206 @@ +{ + "speed": { + "besu": { + "1000M": { + "second": { + "max": 756780, + "p50": 750913, + "p95": 755981, + "p99": 756620, + "min": 743435, + "count": 8 + }, + "first": { + "max": 767469, + "p50": 751397, + "p95": 763352, + "p99": 766645, + "min": 745231, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "second": { + "max": 124959, + "p50": 121774, + "p95": 124584, + "p99": 124884, + "min": 119729, + "count": 8 + }, + "first": { + "max": 127734, + "p50": 123709, + "p95": 127427, + "p99": 127672, + "min": 121594, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 287748, + "p50": 286581, + "p95": 287470, + "p99": 287692, + "min": 285018, + "count": 8 + }, + "second": { + "max": 1375, + "p50": 1210, + "p95": 1345, + "p99": 1369, + "min": 1147, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 289662, + "p50": 287677, + "p95": 289571, + "p99": 289643, + "min": 286780, + "count": 8 + }, + "second": { + "max": 768, + "p50": 730, + "p95": 767, + "p99": 767, + "min": 661, + "count": 8 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": 11094, + "p50": 11065, + "p95": 11089, + "p99": 11093, + "min": 11000, + "count": 8 + }, + "first": { + "max": 77618, + "p50": 76897, + "p95": 77592, + "p99": 77612, + "min": 76479, + "count": 8 + } + } + } + }, + "memory": { + "besu": { + "1000M": { + "second": { + "max": 45301.76, + "p50": 45250.56, + "p95": 45294.592000000004, + "p99": 45300.326400000005, + "min": 45189.12, + "count": 8 + }, + "first": { + "max": 45291.52, + "p50": 45209.6, + "p95": 45284.352, + "p99": 45290.0864, + "min": 45076.48, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "second": { + "max": 31385.6, + "p50": 27939.84, + "p95": 31235.072, + "p99": 31355.4944, + "min": 27617.28, + "count": 8 + }, + "first": { + "max": 30976.0, + "p50": 27965.44, + "p95": 29961.728, + "p99": 30773.1456, + "min": 27596.8, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 28487.68, + "p50": 23848.96, + "p95": 27014.656, + "p99": 28193.0752, + "min": 23490.56, + "count": 8 + }, + "second": { + "max": 74.59, + "p50": 73.69999999999999, + "p95": 74.4885, + "p99": 74.5697, + "min": 48.23, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 42690.56, + "p50": 40186.880000000005, + "p95": 42231.808, + "p99": 42598.8096, + "min": 40007.68, + "count": 8 + }, + "second": { + "max": 51.98, + "p50": 47.525000000000006, + "p95": 50.884499999999996, + "p99": 51.7609, + "min": 45.34, + "count": 8 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": 3712.0, + "p50": 3690.496, + "p95": 3705.9072, + "p99": 3710.78144, + "min": 3662.848, + "count": 8 + }, + "first": { + "max": 15605.76, + "p50": 15564.8, + "p95": 15605.76, + "p99": 15605.76, + "min": 15534.08, + "count": 8 + } + } + } + } +} \ No newline at end of file diff --git a/genesis-data/20241026.memory.html b/genesis-data/20241026.memory.html new file mode 100644 index 0000000..67b2192 --- /dev/null +++ b/genesis-data/20241026.memory.html @@ -0,0 +1,467 @@ + + + + + + + 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.7035625 MHz
+

+ Besu - hyperledger/besu:24.10.0 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 44.23G + + 44.15G + + 44.22G + + 44.23G + + 44.02G + + 8 +
+ 1000M + + second + + 44.24G + + 44.19G + + 44.23G + + 44.24G + + 44.13G + + 8 +
+

+ Nethermind - nethermind/nethermind:1.29.1 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 30.25G + + 27.31G + + 29.26G + + 30.05G + + 26.95G + + 8 +
+ 1000M + + second + + 30.65G + + 27.29G + + 30.50G + + 30.62G + + 26.97G + + 8 +
+

+ Erigon - thorax/erigon:2.60.8 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 27.82G + + 23.29G + + 26.38G + + 27.53G + + 22.94G + + 8 +
+ 1000M + + second + + 0.07G + + 0.07G + + 0.07G + + 0.07G + + 0.05G + + 8 +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 41.69G + + 39.25G + + 41.24G + + 41.60G + + 39.07G + + 8 +
+ 1000M + + second + + 0.05G + + 0.05G + + 0.05G + + 0.05G + + 0.04G + + 8 +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 15.24G + + 15.20G + + 15.24G + + 15.24G + + 15.17G + + 8 +
+ 1000M + + second + + 3.62G + + 3.60G + + 3.62G + + 3.62G + + 3.58G + + 8 +
+ + diff --git a/genesis-data/20241026.memory.json b/genesis-data/20241026.memory.json new file mode 100644 index 0000000..364a3aa --- /dev/null +++ b/genesis-data/20241026.memory.json @@ -0,0 +1,102 @@ +{ + "besu": { + "1000M": { + "second": { + "max": 45301.76, + "p50": 45250.56, + "p95": 45294.592000000004, + "p99": 45300.326400000005, + "min": 45189.12, + "count": 8 + }, + "first": { + "max": 45291.52, + "p50": 45209.6, + "p95": 45284.352, + "p99": 45290.0864, + "min": 45076.48, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "second": { + "max": 31385.6, + "p50": 27939.84, + "p95": 31235.072, + "p99": 31355.4944, + "min": 27617.28, + "count": 8 + }, + "first": { + "max": 30976.0, + "p50": 27965.44, + "p95": 29961.728, + "p99": 30773.1456, + "min": 27596.8, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 28487.68, + "p50": 23848.96, + "p95": 27014.656, + "p99": 28193.0752, + "min": 23490.56, + "count": 8 + }, + "second": { + "max": 74.59, + "p50": 73.69999999999999, + "p95": 74.4885, + "p99": 74.5697, + "min": 48.23, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 42690.56, + "p50": 40186.880000000005, + "p95": 42231.808, + "p99": 42598.8096, + "min": 40007.68, + "count": 8 + }, + "second": { + "max": 51.98, + "p50": 47.525000000000006, + "p95": 50.884499999999996, + "p99": 51.7609, + "min": 45.34, + "count": 8 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": 3712.0, + "p50": 3690.496, + "p95": 3705.9072, + "p99": 3710.78144, + "min": 3662.848, + "count": 8 + }, + "first": { + "max": 15605.76, + "p50": 15564.8, + "p95": 15605.76, + "p99": 15605.76, + "min": 15534.08, + "count": 8 + } + } + } +} \ No newline at end of file diff --git a/genesis-data/20241026.metadata.json b/genesis-data/20241026.metadata.json new file mode 100644 index 0000000..6c7c03e --- /dev/null +++ b/genesis-data/20241026.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.7035625 MHz" + }, + "images": { + "images": { + "nethermind": "nethermind/nethermind:1.29.1", + "geth": "ethereum/client-go:v1.14.11", + "reth": "ghcr.io/paradigmxyz/reth:v1.1.0", + "erigon": "thorax/erigon:2.60.8", + "besu": "hyperledger/besu:24.10.0" + } + } +} \ No newline at end of file diff --git a/genesis-data/20241026.speed.html b/genesis-data/20241026.speed.html new file mode 100644 index 0000000..ed26acd --- /dev/null +++ b/genesis-data/20241026.speed.html @@ -0,0 +1,467 @@ + + + + + + + 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: 2212.1498125 MHz
+

+ Besu - hyperledger/besu:24.10.0 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 12min47s + + 12min31s + + 12min43s + + 12min46s + + 12min25s + + 8 +
+ 1000M + + second + + 12min36s + + 12min30s + + 12min35s + + 12min36s + + 12min23s + + 8 +
+

+ Nethermind - nethermind/nethermind:1.29.1 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 2min7s + + 2min3s + + 2min7s + + 2min7s + + 2min1s + + 8 +
+ 1000M + + second + + 2min4s + + 2min1s + + 2min4s + + 2min4s + + 1min59s + + 8 +
+

+ Erigon - thorax/erigon:2.60.8 +

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

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 4min49s + + 4min47s + + 4min49s + + 4min49s + + 4min46s + + 8 +
+ 1000M + + second + + 768ms + + 730ms + + 767ms + + 767ms + + 661ms + + 8 +
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Genesis File Size + + Part + + Max + + p50 + + p95 + + p99 + + Min + + Count +
+ 1000M + + first + + 1min17s + + 1min16s + + 1min17s + + 1min17s + + 1min16s + + 8 +
+ 1000M + + second + + 11s + + 11s + + 11s + + 11s + + 11s + + 8 +
+ + diff --git a/genesis-data/20241026.speed.json b/genesis-data/20241026.speed.json new file mode 100644 index 0000000..79b7867 --- /dev/null +++ b/genesis-data/20241026.speed.json @@ -0,0 +1,102 @@ +{ + "besu": { + "1000M": { + "second": { + "max": 756780, + "p50": 750913, + "p95": 755981, + "p99": 756620, + "min": 743435, + "count": 8 + }, + "first": { + "max": 767469, + "p50": 751397, + "p95": 763352, + "p99": 766645, + "min": 745231, + "count": 8 + } + } + }, + "nethermind": { + "1000M": { + "second": { + "max": 124959, + "p50": 121774, + "p95": 124584, + "p99": 124884, + "min": 119729, + "count": 8 + }, + "first": { + "max": 127734, + "p50": 123709, + "p95": 127427, + "p99": 127672, + "min": 121594, + "count": 8 + } + } + }, + "erigon": { + "1000M": { + "first": { + "max": 287748, + "p50": 286581, + "p95": 287470, + "p99": 287692, + "min": 285018, + "count": 8 + }, + "second": { + "max": 1375, + "p50": 1210, + "p95": 1345, + "p99": 1369, + "min": 1147, + "count": 8 + } + } + }, + "geth": { + "1000M": { + "first": { + "max": 289662, + "p50": 287677, + "p95": 289571, + "p99": 289643, + "min": 286780, + "count": 8 + }, + "second": { + "max": 768, + "p50": 730, + "p95": 767, + "p99": 767, + "min": 661, + "count": 8 + } + } + }, + "reth": { + "1000M": { + "second": { + "max": 11094, + "p50": 11065, + "p95": 11089, + "p99": 11093, + "min": 11000, + "count": 8 + }, + "first": { + "max": 77618, + "p50": 76897, + "p95": 77592, + "p99": 77612, + "min": 76479, + "count": 8 + } + } + } +} \ No newline at end of file