Comments (7)
Appendix C of Architecture Optimization Manual (http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html) where cycles are called latency.
from design.
Per pp. C-2:
Latency — The number of clock cycles that are required for the execution core to complete the
execution of all of the μops that form an instruction.Throughput — The number of clock cycles required to wait before the issue ports are free to accept the same instruction again. For many instructions, the throughput of an instruction can be significantly less than its latency.
from design.
There is a draft available here: https://gist.github.com/axic/5bf506728005864461454dd4d37a7f37
from design.
For what it's worth, as wasm is designed as a portable language, some virtual wasm instructions might be available as a single instruction on some archs and as a sequence of instructions on different archs. The biggest example I can think about right now is: all the int64 instructions. On 64-bits platforms (like intel x64, aarch64), they almost all map to a single assembly instruction, although on 32-bits platforms (like x86/ARM) they map to sequence of equivalent instructions.
I don't know what are the targeted archs for the ewasm VM, but worth noting in case you'd have wanted to support x86 and all. Possible alternatives I can think of, instead of a static arch-independent pricing:
- arch-dependent pricing, but it sounds like metering should be hardware independent in general.
- determine arch-dependent pricing for each platform, and then take an average of them (really, using any average function) to determine an arch-independent pricing. This seems a bit unfair to platforms that are not benchmarked first, but this should at least give a rought idea of what the pricing should look like.
from design.
Thank you @bnjbvr. I am afraid we cannot introduce architecture dependent pricing at all.
from design.
Regarding state operations. Here is some is the Approximate timing for disk reads compared to instuctions. http://norvig.com/21-days.html#answers
from design.
See https://github.com/ewasm/design/blob/master/determining_wasm_gas_costs.md.
from design.
Related Issues (20)
- Enviroment abstraction for eWASM code execution
- Generic buffer API
- Inlined metering HOT 6
- Update to Constantinople/Petersburg HOT 1
- Equivalence, invertable transformation, and size optimization of Wasm binaries HOT 4
- Serenity async proposal (discussion) HOT 4
- Async vs sync interface HOT 2
- Linear storage design HOT 4
- System/standard library for bignumbers HOT 19
- Eth 2.0 Phase 2 with "precompiles" proposal HOT 1
- wasm256 - Wasm with native i256 HOT 1
- how to test the gas costs
- opcode gas
- Shared memory between instances HOT 1
- "Stack too deep" in EWASM
- Provide kecccak256 host function HOT 3
- JVM pros/cons clarification
- Update EEI for London hardfork
- IP OGS HOT 1
- ewasm status HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from design.