Automatically merged updates to draft EIP(s) 1884

Hi, I'm a bot! This change was automatically merged because:

 - It only modifies existing Draft or Last Call EIP(s)
 - The PR was approved or written by at least one author of each modified EIP
 - The build is passing
This commit is contained in:
Alex Beregszaszi 2019-04-29 07:36:55 +01:00 committed by EIP Automerge Bot
parent 0f98e038fd
commit 4d8e8fa46e

View File

@ -7,6 +7,7 @@ category: Core
discussions-to: https://ethereum-magicians.org/t/opcode-repricing/3024 discussions-to: https://ethereum-magicians.org/t/opcode-repricing/3024
status: Draft status: Draft
created: 2019-03-28 created: 2019-03-28
requires: 150
--- ---
@ -33,8 +34,8 @@ If operations are well-balanced, we can maximise the block gaslimit and have a m
At block `N`, At block `N`,
- The `SLOAD` operation changes from `200` to `800` gas, - The `SLOAD` (`0x54`) operation changes from `200` to `800` gas,
- The `BALANCE` operation changes from `400` to `700` gas, - The `BALANCE` (`0x31`) operation changes from `400` to `700` gas,
- A new opcode, `SELFBALANCE` is introduced at `0x46`. - A new opcode, `SELFBALANCE` is introduced at `0x46`.
- `SELFBALANCE` pops `0` arguments off the stack, - `SELFBALANCE` pops `0` arguments off the stack,
- `SELFBALANCE` pushes the `balance` of the current address to the stack, - `SELFBALANCE` pushes the `balance` of the current address to the stack,
@ -47,7 +48,7 @@ Here are two charts, taken from a full sync using Geth. The execution time was m
![bars1](../assets/eip-1884/run3.total-bars-5.png) ![bars1](../assets/eip-1884/run3.total-bars-5.png)
![bars2](../assets/eip-1884/run3.total-bars-6.png) ![bars2](../assets/eip-1884/run3.total-bars-6.png)
Note: It can also be seen that the `SLOAD` moves towards the top position. The `GASPRICE` opcode has position one which I believe can be optimized away within the client -- which is not the case with `SLOAD`/`BALANCE`. Note: It can also be seen that the `SLOAD` moves towards the top position. The `GASPRICE` (`0x3a`) opcode has position one which I believe can be optimized away within the client -- which is not the case with `SLOAD`/`BALANCE`.
Here is another chart, showing a full sync with Geth. It represents the blocks `0` to `5.7M`, and highlights what the block processing time is spent on. Here is another chart, showing a full sync with Geth. It represents the blocks `0` to `5.7M`, and highlights what the block processing time is spent on.