near / near-evm

Obsolete EVM contract experiments. Find current development at: https://github.com/aurora-is-near/aurora-engine
GNU General Public License v3.0
32 stars 11 forks source link

Benchmark NEAR EVM vs native WASM contract vs Ethereum #8

Open ilblackdragon opened 4 years ago

ilblackdragon commented 4 years ago

There are two questions that come up:

We need to figure out what is an apple to apple comparison here and evaluate it.

For WASM vs NEAR EVM we can just have a simple contract written in both and evaluate it on the same node. Are there any default benchmarks for Ethereum @prestwich we can reuse?

prestwich commented 4 years ago

The best approach here would be to choose a standard contract, and run a suite of transactions on both ganache and near-evm. I'll look at automating this in the near future.

ilblackdragon commented 4 years ago

Just leaving it here for tracking. Gas usage in near-evm tests for different ops:

Activity gas
Deploy evm 14_436_814_659_810
deploy_code(cryptozombies) 2_323_274_445_688
createRandomZombie 2_292_186_711_135
evm_balance_of_near_account 2_291_600_327_838

For context, block limit is 1_000_000_000_000_000

ewilz commented 4 years ago

started doing some benchmarking on this branch, but paused on the efforts when precompiles prevented us from being able to deploy the contract:

https://github.com/near/near-evm/tree/benchmark