Closed PavelKopyl closed 3 weeks ago
╔═╡ Size (-%) ╞════════════════╡ All M3B3 ╞═╗
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Cycles (-%) ╞══════════════╡ All M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs (-%) ╞════════════════╡ All M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞════════════════╡ All M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╚═══════════════════════════════════════════╝
╔═╡ Size (-%) ╞════════════════╡ All MzB3 ╞═╗
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Cycles (-%) ╞══════════════╡ All MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs (-%) ╞════════════════╡ All MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞════════════════╡ All MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╚═══════════════════════════════════════════╝
╔═╡ Size (-%) ╞═════╡ EVMInterpreter M3B3 ╞═╗
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total NaN ║
╠═╡ Cycles (-%) ╞═══╡ EVMInterpreter M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs (-%) ╞═════╡ EVMInterpreter M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞═════╡ EVMInterpreter M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs/gas ╞══════╡ EVMInterpreter M3B3 ╞═╣
║ ADD 28.083 ║
║ MUL 16.850 ║
║ SUB 28.083 ║
║ DIV 19.250 ║
║ SDIV 36.050 ║
║ MOD 19.250 ║
║ SMOD 33.650 ║
║ ADDMOD 18.156 ║
║ MULMOD 16.656 ║
║ EXP 6.904 ║
║ SIGNEXTEND 19.250 ║
║ LT 32.083 ║
║ GT 32.083 ║
║ SLT 54.083 ║
║ SGT 54.083 ║
║ EQ 32.083 ║
║ ISZERO 27.750 ║
║ AND 28.083 ║
║ OR 28.083 ║
║ XOR 28.083 ║
║ NOT 23.750 ║
║ BYTE 38.083 ║
║ SHL 34.083 ║
║ SHR 34.083 ║
║ SAR 52.083 ║
║ SGT 54.083 ║
║ SHA3 25.073 ║
║ ADDRESS 41.812 ║
║ BALANCE 20.924 ║
║ ORIGIN 1351.625 ║
║ CALLER 41.812 ║
║ CALLVALUE 41.812 ║
║ CALLDATALOAD 26.083 ║
║ CALLDATASIZE 42.125 ║
║ CALLDATACOPY 49.492 ║
║ CODESIZE 45.625 ║
║ CODECOPY 62.456 ║
║ GASPRICE 1348.438 ║
║ EXTCODESIZE 3.635 ║
║ EXTCODECOPY 3.723 ║
║ RETURNDATASIZE 43.500 ║
║ RETURNDATACOPY 44.556 ║
║ EXTCODEHASH 4.651 ║
║ BLOCKHASH 238.819 ║
║ COINBASE 1348.625 ║
║ TIMESTAMP 1342.625 ║
║ NUMBER 1342.625 ║
║ PREVRANDAO 1342.625 ║
║ GASLIMIT 1348.625 ║
║ CHAINID 1336.625 ║
║ SELFBALANCE 639.250 ║
║ BASEFEE 1342.625 ║
║ POP 39.125 ║
║ MLOAD 43.667 ║
║ MSTORE 55.248 ║
║ MSTORE8 64.716 ║
║ SLOAD 19.044 ║
║ SSTORE 4.467 ║
║ JUMP 15.667 ║
║ JUMPI 15.636 ║
║ PC 42.312 ║
║ MSIZE 48.812 ║
║ GAS 42.312 ║
║ JUMPDEST 59.625 ║
║ PUSH0 42.312 ║
║ PUSH1 37.958 ║
║ PUSH2 43.375 ║
║ PUSH4 46.208 ║
║ PUSH5 47.625 ║
║ PUSH6 49.042 ║
║ PUSH7 50.458 ║
║ PUSH8 51.875 ║
║ PUSH9 53.292 ║
║ PUSH10 54.708 ║
║ PUSH11 56.125 ║
║ PUSH12 57.542 ║
║ PUSH13 58.958 ║
║ PUSH14 60.375 ║
║ PUSH15 61.792 ║
║ PUSH16 63.208 ║
║ PUSH17 64.625 ║
║ PUSH18 66.042 ║
║ PUSH19 67.458 ║
║ PUSH20 68.875 ║
║ PUSH21 70.292 ║
║ PUSH22 71.708 ║
║ PUSH23 73.125 ║
║ PUSH24 74.542 ║
║ PUSH25 75.958 ║
║ PUSH26 77.375 ║
║ PUSH27 78.792 ║
║ PUSH28 80.208 ║
║ PUSH29 81.625 ║
║ PUSH30 83.042 ║
║ PUSH31 84.458 ║
║ PUSH32 85.875 ║
║ DUP1 26.083 ║
║ DUP2 32.417 ║
║ DUP3 32.417 ║
║ DUP4 32.417 ║
║ DUP5 32.417 ║
║ DUP6 32.417 ║
║ DUP7 32.417 ║
║ DUP8 32.417 ║
║ DUP9 32.417 ║
║ DUP10 32.417 ║
║ DUP11 32.417 ║
║ DUP12 32.417 ║
║ DUP13 32.417 ║
║ DUP14 32.417 ║
║ DUP15 32.417 ║
║ DUP16 32.417 ║
║ SWAP1 32.417 ║
║ SWAP2 32.417 ║
║ SWAP3 32.417 ║
║ SWAP4 32.417 ║
║ SWAP5 32.417 ║
║ SWAP6 32.417 ║
║ SWAP7 32.417 ║
║ SWAP8 32.417 ║
║ SWAP9 32.417 ║
║ SWAP10 32.417 ║
║ SWAP11 32.417 ║
║ SWAP12 32.417 ║
║ SWAP13 32.417 ║
║ SWAP14 32.417 ║
║ SWAP15 32.417 ║
║ SWAP16 32.417 ║
║ CALL 34.125 ║
║ STATICCALL 34.095 ║
║ DELEGATECALL 33.175 ║
║ CREATE 3.713 ║
║ CREATE2 5.009 ║
║ RETURN 1.000 ║
║ REVERT 1.000 ║
╠═╡ Ergs/gas (-%) ╞═╡ EVMInterpreter M3B3 ╞═╣
╚═══════════════════════════════════════════╝
╔═╡ Size (-%) ╞═════╡ EVMInterpreter MzB3 ╞═╗
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total NaN ║
╠═╡ Cycles (-%) ╞═══╡ EVMInterpreter MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs (-%) ╞═════╡ EVMInterpreter MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞═════╡ EVMInterpreter MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╚═══════════════════════════════════════════╝
╔═╡ Size (-%) ╞════════╡ Precompiles M3B3 ╞═╗
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Cycles (-%) ╞══════╡ Precompiles M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs (-%) ╞════════╡ Precompiles M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞════════╡ Precompiles M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total NaN ║
╚═══════════════════════════════════════════╝
╔═╡ Size (-%) ╞════════╡ Precompiles MzB3 ╞═╗
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Cycles (-%) ╞══════╡ Precompiles MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs (-%) ╞════════╡ Precompiles MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞════════╡ Precompiles MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total NaN ║
╚═══════════════════════════════════════════╝
╔═╡ Size (-%) ╞══════════╡ Real life M3B3 ╞═╗
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Cycles (-%) ╞════════╡ Real life M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs (-%) ╞══════════╡ Real life M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞══════════╡ Real life M3B3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total NaN ║
╚═══════════════════════════════════════════╝
╔═╡ Size (-%) ╞══════════╡ Real life MzB3 ╞═╗
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Cycles (-%) ╞════════╡ Real life MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠═╡ Ergs (-%) ╞══════════╡ Real life MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞══════════╡ Real life MzB3 ╞═╣
║ Best 0.000 ║
║ Worst 0.000 ║
║ Total NaN ║
╚═══════════════════════════════════════════╝
EF compiler uses only 18 bytes of the keccak256 hash value when hashing linker symbols. Probably it's done to limit size of unlinked contracts by increasing collision probability. But this doesn't seem to make a big sense, so lets use full hash values. Anyway, this doesn't affect size of executable bytecode.
Code Review Checklist
Purpose
Ticket Number
Requirements
Implementation
Logic Errors and Bugs
Error Handling and Logging
Maintainability
Dependencies
Security
Performance
Testing and Testability
Readability
Documentation
Best Practices
Experts' Opinion