Giter Site home page Giter Site logo

Determine Gas Price for opcodes about design HOT 7 OPEN

ewasm avatar ewasm commented on August 25, 2024
Determine Gas Price for opcodes

from design.

Comments (7)

axic avatar axic commented on August 25, 2024

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.

axic avatar axic commented on August 25, 2024

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.

axic avatar axic commented on August 25, 2024

There is a draft available here: https://gist.github.com/axic/5bf506728005864461454dd4d37a7f37

from design.

bnjbvr avatar bnjbvr commented on August 25, 2024

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.

axic avatar axic commented on August 25, 2024

Thank you @bnjbvr. I am afraid we cannot introduce architecture dependent pricing at all.

from design.

wanderer avatar wanderer commented on August 25, 2024

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.

cdetrio avatar cdetrio commented on August 25, 2024

See https://github.com/ewasm/design/blob/master/determining_wasm_gas_costs.md.

from design.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.