Skip to content

Commit 3d5453f

Browse files
committed
README: minor typo fix
1 parent fd3d73c commit 3d5453f

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

README.md

+10-9
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ transaction re-executions.
1212

1313
In our benchmark, Grevm stands as the **fastest** open-source parallel EVM implementation to date. For fully
1414
parallelizable transactions, Grevm is **4.13×** faster than sequential execution, running at **26.50 gigagas/s.** If we
15-
simulate real-world I/O latency of **100μs**, it is **50.84×** faster than sequential execution, with **6.80
15+
simulate real-world I/O latency of **100 μs**, it is **50.84×** faster than sequential execution, with **6.80
1616
gigagas/s** throughput. This leap in performance is attributed to both the parallelized execution and the integration of
1717
asynchronous I/O operations—enabled by the parallelism—which further amplifies the speedup by efficiently overlapping
1818
I/O operations.
@@ -61,7 +61,7 @@ Consider a sequence of transactions ordered as **Tx₁**, **Tx₂**, ..., **Tx
6161
3. **Parallel Execution on Software Transactional Memory (STM) System**:
6262
- A high-performance **STM** provides multi-version state access to each thread
6363
- During execution, each transaction can read the writes of all preceding transactions but not those of subsequent
64-
ones, effectively avoiding read-after-write hazards.
64+
ones, effectively avoiding write-after-read hazards.
6565
- **Write-After-Write Conflict Resolution**:
6666
- If multiple transactions write to the same storage slot, the STM resolves the conflict by using the value from
6767
the transaction with the highest sequence number (i.e., the latest transaction in the sequence).
@@ -78,9 +78,9 @@ synchronization—is challenging due to several factors:
7878
computational overhead, potentially negating the benefits of parallel execution.
7979

8080
Recognizing these limitations, our approach leverages transaction simulation results obtained by running each
81-
transaction against the latest state view before execution. These simulations provide estimates of which storage slots a
82-
transaction will read or write, which serves as input to build the data dependency DAG. These hints can be computed
83-
before parallel execution, avoiding introducing additional computational overhead during execution.
81+
transaction against the most recent available state view before execution. These simulations provide estimates of which
82+
storage slots a transaction will read or write, which serves as input to build the data dependency DAG. These hints can
83+
be computed before parallel execution, avoiding introducing additional computational overhead during execution.
8484

8585
![image.png](images/glassnode-studio_eth-ethereum-transaction-type-breakdown-relative.png)
8686

@@ -194,10 +194,11 @@ Replace `${NUM_EOA}`, `${HOT_RATIO}`, and `${DB_LATENCY_US}` with the desired pa
194194

195195
We conducted the gigagas block test, a benchmark designed to evaluate the efficiency of parallel execution under varying
196196
workloads and conditions. We reused some portions of the benchmarking code from pevm. Each mock block contains
197-
transactions totaling **1 gigagas** in gas consumption. The transactions include vanilla Ether transfers, ERC20 token
198-
transfers, and Uniswap swaps. Pre-state data is stored entirely in-memory to isolate execution performance from disk I/O
199-
variability. To mimic real-world conditions where disk I/O latency can impact performance, we introduced artificial
200-
latency using the `db_latency` parameter.
197+
transactions totaling **1 gigagas** in gas consumption. Note that we use the actual gas consumption of transactions to
198+
calculate the total gas, which accounts for the gas refunds. The transactions include vanilla Ether transfers, ERC20
199+
token transfers, and Uniswap swaps. Pre-state data is stored entirely in-memory to isolate execution performance from
200+
disk I/O variability. To mimic real-world conditions where disk I/O latency can impact performance, we introduced
201+
artificial latency using the `db_latency` parameter.
201202

202203
### Conflict-Free Transactions
203204

0 commit comments

Comments
 (0)