entropy.pycalculates number of occurrences of each mnemonic in the contracts from the contracts/ folder. There are 50 contracts taken from etherescan.io. Before running the script make sure you installed the EVM disassembler, you can do that using pip install pyevmasm. At operations that have a dynamic gas cost (a formula calculating it) their minimum was taken. opcode-gas-costs.csv was taken from https://github.com/djrtwo/evm-opcode-gas-costs/blob/master/opcode-gas-costs_EIP-150_revision-1e18248_2017-04-12.csv and modified according to the needs.
#Results:
| Mnemonics | Occurences | Gas Cost | Gas Spent | Occ. per Contract |
|---|---|---|---|---|
| PUSH1 | 118464 | 3 | 355392 | 2369.28 |
| PUSH2 | 48963 | 3 | 146889 | 979.26 |
| SWAP1 | 48165 | 3 | 144495 | 963.3 |
| DUP1 | 47523 | 3 | 142569 | 950.46 |
| POP | 44334 | 2 | 88668 | 886.68 |
| DUP2 | 40002 | 3 | 120006 | 800.04 |
| ADD | 38373 | 3 | 115119 | 767.46 |
| JUMPDEST | 33591 | 1 | 33591 | 671.82 |
| MSTORE | 29046 | 3 | 87138 | 580.92 |
| AND | 21474 | 3 | 64422 | 429.48 |
| MLOAD | 20520 | 3 | 61560 | 410.4 |
| ISZERO | 20154 | 3 | 60462 | 403.08 |
| JUMPI | 20049 | 10 | 200490 | 400.98 |
| SWAP2 | 19059 | 3 | 57177 | 381.18 |
| DUP3 | 18066 | 3 | 54198 | 361.32 |
| JUMP | 16089 | 8 | 128712 | 321.78 |
| SUB | 12885 | 3 | 38655 | 257.7 |
| SLOAD | 11676 | 200 | 2335200 | 233.52 |
| REVERT | 11001 | 0 | 0 | 220.02 |
| DUP4 | 10815 | 3 | 32445 | 216.3 |
| PUSH20 | 10080 | 3 | 30240 | 201.6 |
| STOP | 8394 | 0 | 0 | 167.88 |
| PUSH4 | 8229 | 3 | 24687 | 164.58 |
| SWAP3 | 7530 | 3 | 22590 | 150.6 |
| SHA3 | 6087 | 30 | 182610 | 121.74 |
| EQ | 5373 | 3 | 16119 | 107.46 |
| MUL | 5067 | 5 | 25335 | 101.34 |
| SHL | 5010 | 3 | 15030 | 100.2 |
| SSTORE | 4884 | 5000 | 24420000 | 97.68 |
| LT | 4602 | 3 | 13806 | 92.04 |
| DUP5 | 4428 | 3 | 13284 | 88.56 |
| DIV | 3981 | 5 | 19905 | 79.62 |
| PUSH3 | 3897 | 3 | 11691 | 77.94 |
| CALLDATALOAD | 3672 | 3 | 11016 | 73.44 |
| EXP | 3633 | 10 | 36330 | 72.66 |
| INVALID | 3351 | 0 | 0 | 67.02 |
| RETURNDATASIZE | 3102 | 2 | 6204 | 62.04 |
| PUSH32 | 2805 | 3 | 8415 | 56.1 |
| DUP6 | 2793 | 3 | 8379 | 55.86 |
| GT | 2727 | 3 | 8181 | 54.54 |
| CALLVALUE | 2646 | 2 | 5292 | 52.92 |
| CALLER | 2478 | 2 | 4956 | 49.56 |
| NOT | 2406 | 3 | 7218 | 48.12 |
| SWAP4 | 2148 | 3 | 6444 | 42.96 |
| OR | 2064 | 3 | 6192 | 41.28 |
| DUP7 | 2001 | 3 | 6003 | 40.02 |
| RETURN | 1857 | 0 | 0 | 37.14 |
| DUP8 | 1758 | 3 | 5274 | 35.16 |
| CALLDATASIZE | 1548 | 2 | 3096 | 30.96 |
| EXTCODESIZE | 1170 | 700 | 819000 | 23.4 |
| CODECOPY | 1167 | 2 | 2334 | 23.34 |
| GAS | 1167 | 2 | 2334 | 23.34 |
| RETURNDATACOPY | 1149 | 3 | 3447 | 22.98 |
| DUP9 | 1020 | 3 | 3060 | 20.4 |
| CALL | 909 | Complex | N\A | 18.18 |
| SWAP5 | 903 | 3 | 2709 | 18.06 |
| DUP10 | 783 | 3 | 2349 | 15.66 |
| ADDRESS | 651 | 2 | 1302 | 13.02 |
| SWAP6 | 567 | 3 | 1701 | 11.34 |
| LOG3 | 525 | 1500 | 787500 | 10.5 |
| PUSH5 | 447 | 3 | 1341 | 8.94 |
| DUP11 | 435 | 3 | 1305 | 8.7 |
| TIMESTAMP | 411 | 2 | 822 | 8.22 |
| STATICCALL | 390 | 40 | 15600 | 7.8 |
| SHR | 327 | 3 | 981 | 6.54 |
| PUSH8 | 303 | 3 | 909 | 6.06 |
| PUSH29 | 300 | 3 | 900 | 6.0 |
| DUP12 | 285 | 3 | 855 | 5.7 |
| CALLDATACOPY | 285 | 2 | 570 | 5.7 |
| LOG1 | 276 | 750 | 207000 | 5.52 |
| LOG2 | 267 | 1125 | 300375 | 5.34 |
| PUSH16 | 252 | 3 | 756 | 5.04 |
| PUSH6 | 210 | 3 | 630 | 4.2 |
| SLT | 192 | 3 | 576 | 3.84 |
| SWAP7 | 186 | 3 | 558 | 3.72 |
| SWAP8 | 174 | 3 | 522 | 3.48 |
| XOR | 165 | 3 | 495 | 3.3 |
| PUSH7 | 162 | 3 | 486 | 3.24 |
| PUSH21 | 144 | 3 | 432 | 2.88 |
| MOD | 144 | 5 | 720 | 2.88 |
| NUMBER | 141 | 2 | 282 | 2.82 |
| PUSH19 | 138 | 3 | 414 | 2.76 |
| PUSH15 | 138 | 3 | 414 | 2.76 |
| ORIGIN | 135 | 2 | 270 | 2.7 |
| DUP13 | 135 | 3 | 405 | 2.7 |
| GASPRICE | 129 | 2 | 258 | 2.58 |
| DUP14 | 126 | 3 | 378 | 2.52 |
| GASLIMIT | 96 | 2 | 192 | 1.92 |
| CODESIZE | 96 | 2 | 192 | 1.92 |
| PUSH22 | 78 | 3 | 234 | 1.56 |
| PUSH28 | 78 | 3 | 234 | 1.56 |
| DUP15 | 78 | 3 | 234 | 1.56 |
| SWAP9 | 75 | 3 | 225 | 1.5 |
| BALANCE | 75 | 400 | 30000 | 1.5 |
| SWAP13 | 72 | 3 | 216 | 1.44 |
| SDIV | 66 | 5 | 330 | 1.32 |
| PUSH27 | 63 | 3 | 189 | 1.26 |
| MSTORE8 | 63 | 3 | 189 | 1.26 |
| SWAP11 | 63 | 3 | 189 | 1.26 |
| SWAP10 | 63 | 3 | 189 | 1.26 |
| PUSH12 | 60 | 3 | 180 | 1.2 |
| GETPC | 60 | 2 | 120 | 1.2 |
| PUSH10 | 60 | 3 | 180 | 1.2 |
| PUSH9 | 51 | 3 | 153 | 1.02 |
| DELEGATECALL | 51 | Complex | N\A | 1.02 |
| PUSH13 | 48 | 3 | 144 | 0.96 |
| PUSH17 | 48 | 3 | 144 | 0.96 |
| PUSH24 | 48 | 3 | 144 | 0.96 |
| BLOCKHASH | 42 | 20 | 840 | 0.84 |
| DUP16 | 42 | 3 | 126 | 0.84 |
| LOG4 | 42 | 1875 | 78750 | 0.84 |
| PUSH25 | 42 | 3 | 126 | 0.84 |
| DIFFICULTY | 39 | 2 | 78 | 0.78 |
| PUSH18 | 36 | 3 | 108 | 0.72 |
| CREATE2 | 36 | 32000 | 1152000 | 0.72 |
| CREATE | 33 | 32000 | 1056000 | 0.66 |
| SAR | 33 | 3 | 99 | 0.66 |
| SWAP12 | 33 | 3 | 99 | 0.66 |
| SWAP14 | 30 | 3 | 90 | 0.6 |
| PUSH14 | 30 | 3 | 90 | 0.6 |
| MSIZE | 27 | 2 | 54 | 0.54 |
| PUSH11 | 27 | 3 | 81 | 0.54 |
| PUSH26 | 21 | 3 | 63 | 0.42 |
| SIGNEXTEND | 21 | 5 | 105 | 0.42 |
| SGT | 21 | 3 | 63 | 0.42 |
| PUSH31 | 21 | 3 | 63 | 0.42 |
| ADDMOD | 18 | 8 | 144 | 0.36 |
| BYTE | 18 | 3 | 54 | 0.36 |
| LOG0 | 18 | 375 | 6750 | 0.36 |
| SMOD | 18 | 5 | 90 | 0.36 |
| SELFDESTRUCT | 18 | 25000 | 450000 | 0.36 |
| COINBASE | 18 | 2 | 36 | 0.36 |
| PUSH23 | 18 | 3 | 54 | 0.36 |
| MULMOD | 15 | 8 | 120 | 0.3 |
| EXTCODEHASH | 15 | 700 | 10500 | 0.3 |
| SWAP16 | 15 | 3 | 45 | 0.3 |
| PUSH30 | 12 | 3 | 36 | 0.24 |
| EXTCODECOPY | 9 | 700 | 6300 | 0.18 |
| CALLCODE | 9 | Complex | N\A | 0.18 |
| SWAP15 | 3 | 3 | 9 | 0.06 |