Struct wasm_instrument::gas_metering::ConstantCostRules
source · pub struct ConstantCostRules { /* private fields */ }
Expand description
A type that implements Rules
so that every instruction costs the same.
This is a simplification that is mostly useful for development and testing.
Note
In a production environment it usually makes no sense to assign every instruction
the same cost. A proper implemention of Rules
should be prived that is probably
created by benchmarking.
Implementations§
source§impl ConstantCostRules
impl ConstantCostRules
sourcepub fn new(instruction_cost: u32, memory_grow_cost: u32) -> Self
pub fn new(instruction_cost: u32, memory_grow_cost: u32) -> Self
Create a new ConstantCostRules
.
Uses instruction_cost
for every instruction and memory_grow_cost
to dynamically
meter the memory growth instruction.
Trait Implementations§
source§impl Default for ConstantCostRules
impl Default for ConstantCostRules
source§impl Rules for ConstantCostRules
impl Rules for ConstantCostRules
source§fn instruction_cost(&self, _: &Instruction) -> Option<u32>
fn instruction_cost(&self, _: &Instruction) -> Option<u32>
Returns the cost for the passed
instruction
. Read moresource§fn memory_grow_cost(&self) -> MemoryGrowCost
fn memory_grow_cost(&self) -> MemoryGrowCost
Returns the costs for growing the memory using the
memory.grow
instruction. Read more