Cost model parameters
The cost model for Plutus Core scripts has a number of parameters. These are listed and briefly described below. All of these parameters are listed in the Cardano protocol parameters and can be individually adjusted.
For more details on the meaning of the parameters, consult IOHK [2].
Operation |
Parameter name |
Note |
---|---|---|
apply |
cekApplyCost-exBudgetCPU |
Constant CPU cost |
apply |
cekApplyCost-exBudgetMemory |
Constant memory cost |
builtin |
cekBuiltinCost-exBudgetCPU |
Constant CPU cost |
builtin |
cekBuiltinCost-exBudgetMemory |
Constant memory cost |
con |
cekConstCost-exBudgetCPU |
Constant CPU cost |
con |
cekConstCost-exBudgetMemory |
Constant memory cost |
delay |
cekDelayCost-exBudgetCPU |
Constant CPU cost |
delay |
cekDelayCost-exBudgetMemory |
Constant memory cost |
force |
cekForceCost-exBudgetCPU |
Constant CPU cost |
force |
cekForceCost-exBudgetMemory |
Constant memory cost |
lam |
cekLamCost-exBudgetCPU |
Constant CPU cost |
lam |
cekLamCost-exBudgetMemory |
Constant memory cost |
startup |
cekStartupCost-exBudgetCPU |
Constant CPU cost |
startup |
cekStartupCost-exBudgetMemory |
Constant memory cost |
var |
cekVarCost-exBudgetCPU |
Constant CPU cost |
var |
cekVarCost-exBudgetMemory |
Constant memory cost |
Builtin function |
Parameter name |
Note |
---|---|---|
addInteger |
addInteger-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
addInteger |
addInteger-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
addInteger |
addInteger-memory-arguments-intercept |
Linear model intercept for the memory calculation |
addInteger |
addInteger-memory-arguments-slope |
Linear model coefficient for the memory calculation |
appendByteString |
appendByteString-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
appendByteString |
appendByteString-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
appendByteString |
appendByteString-memory-arguments-intercept |
Linear model intercept for the memory calculation |
appendByteString |
appendByteString-memory-arguments-slope |
Linear model coefficient for the memory calculation |
appendString |
appendString-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
appendString |
appendString-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
appendString |
appendString-memory-arguments-intercept |
Linear model intercept for the memory calculation |
appendString |
appendString-memory-arguments-slope |
Linear model coefficient for the memory calculation |
bData |
bData-cpu-arguments |
Constant CPU cost |
bData |
bData-memory-arguments |
Constant CPU cost |
blake2b_256 |
blake2b-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
blake2b_256 |
blake2b-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
blake2b_256 |
blake2b-memory-arguments |
Constant memory cost |
chooseData |
chooseData-cpu-arguments |
Constant CPU cost |
chooseData |
chooseData-memory-arguments |
Constant memory cost |
chooseList |
chooseList-cpu-arguments |
Constant CPU cost |
chooseList |
chooseList-memory-arguments |
Constant memory cost |
chooseUnit |
chooseUnit-cpu-arguments |
Constant CPU cost |
chooseUnit |
chooseUnit-memory-arguments |
Constant memory cost |
consByteString |
consByteString-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
consByteString |
consByteString-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
consByteString |
consByteString-memory-arguments-intercept |
Linear model intercept for the memory calculation |
consByteString |
consByteString-memory-arguments-slope |
Linear model coefficient for the memory calculation |
constrData |
constrData-cpu-arguments |
Constant CPU cost |
constrData |
constrData-memory-arguments |
Constant memory cost |
decodeUtf8 |
decodeUtf8-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
decodeUtf8 |
decodeUtf8-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
decodeUtf8 |
decodeUtf8-memory-arguments-intercept |
Linear model intercept for the memory calculation |
decodeUtf8 |
decodeUtf8-memory-arguments-slope |
Linear model coefficient for the memory calculation |
divideInteger |
divideInteger-cpu-arguments-constant |
Constant CPU cost (argument sizes above diagonal) |
divideInteger |
divideInteger-cpu-arguments-model-arguments-intercept |
Linear model intercept for the CPU calculation (argument sizes on or below diagonal) |
divideInteger |
divideInteger-cpu-arguments-model-arguments-slope |
Linear model coefficient for the CPU calculation (argument sizes on or below diagonal) |
divideInteger |
divideInteger-memory-arguments-intercept |
Linear model intercept for the memory calculation (argument sizes on or below diagonal) |
divideInteger |
divideInteger-memory-arguments-minimum |
Constant memory cost (argument sizes above diagonal) |
divideInteger |
divideInteger-memory-arguments-slope |
Linear model coefficient for the memory calculation (argument sizes on or below diagonal) |
encodeUtf8 |
encodeUtf8-cpu-arguments-intercept |
Linear model intercept for the CPU calculation below diagonal |
encodeUtf8 |
encodeUtf8-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
encodeUtf8 |
encodeUtf8-memory-arguments-intercept |
Linear model intercept for the memory calculation |
encodeUtf8 |
encodeUtf8-memory-arguments-slope |
Linear model coefficient for the memory calculation |
equalsByteString |
equalsByteString-cpu-arguments-constant |
Constant CPU cost (arguments different sizes) |
equalsByteString |
equalsByteString-cpu-arguments-intercept |
Linear model intercept for the CPU calculation (arguments same size) |
equalsByteString |
equalsByteString-cpu-arguments-slope |
Linear model coefficient for the CPU calculation (arguments same size) |
equalsByteString |
equalsByteString-memory-arguments |
Constant memory |
equalsData |
equalsData-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
equalsData |
equalsData-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
equalsData |
equalsData-memory-arguments |
Constant memory cost |
equalsInteger |
equalsInteger-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
equalsInteger |
equalsInteger-cpu-arguments-slope |
Linear model coefficient for the memory calculation |
equalsInteger |
equalsInteger-memory-arguments |
Constant memory cost |
equalsString |
equalsString-cpu-arguments-constant |
Constant CPU cost (arguments different sizes) |
equalsString |
equalsString-cpu-arguments-intercept |
Linear model intercept for the CPU calculation (arguments same size) |
equalsString |
equalsString-cpu-arguments-slope |
Linear model coefficient for the CPU calculation (arguments same size) |
equalsString |
equalsString-memory-arguments |
Constant memory cost |
fstPair |
fstPair-cpu-arguments |
Constant CPU cost |
fstPair |
fstPair-memory-arguments |
Constant memory cost |
headList |
headList-cpu-arguments |
Constant CPU cost |
headList |
headList-memory-arguments |
Constant memory cost |
iData |
iData-cpu-arguments |
Constant CPU cost |
iData |
iData-memory-arguments |
Constant memory cost |
ifThenElse |
ifThenElse-cpu-arguments |
Constant CPU cost |
ifThenElse |
ifThenElse-memory-arguments |
Constant memory cost |
indexByteString |
indexByteString-cpu-arguments |
Constant CPU cost |
indexByteString |
indexByteString-memory-arguments |
Constant memory cost |
lengthOfByteString |
lengthOfByteString-cpu-arguments |
Constant CPU cost |
lengthOfByteString |
lengthOfByteString-memory-arguments |
Constant memory cost |
lessThanByteString |
lessThanByteString-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
lessThanByteString |
lessThanByteString-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
lessThanByteString |
lessThanByteString-memory-arguments |
Constant memory cost |
lessThanEqualsByteString |
lessThanEqualsByteString-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
lessThanEqualsByteString |
lessThanEqualsByteString-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
lessThanEqualsByteString |
lessThanEqualsByteString-memory-arguments |
Constant memory cost |
lessThanEqualsInteger |
lessThanEqualsInteger-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
lessThanEqualsInteger |
lessThanEqualsInteger-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
lessThanEqualsInteger |
lessThanEqualsInteger-memory-arguments |
Constant memory cost |
lessThanInteger |
lessThanInteger-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
lessThanInteger |
lessThanInteger-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
lessThanInteger |
lessThanInteger-memory-arguments |
Constant memory cost |
listData |
listData-cpu-arguments |
Constant CPU cost |
listData |
listData-memory-arguments |
Constant memory cost |
mapData |
mapData-cpu-arguments |
Constant CPU cost |
mapData |
mapData-memory-arguments |
Constant memory cost |
mkCons |
mkCons-cpu-arguments |
Constant CPU cost |
mkCons |
mkCons-memory-arguments |
Constant memory cost |
mkNilData |
mkNilData-cpu-arguments |
Constant CPU cost |
mkNilData |
mkNilData-memory-arguments |
Constant memory cost |
mkNilPairData |
mkNilPairData-cpu-arguments |
Constant CPU cost |
mkNilPairData |
mkNilPairData-memory-arguments |
Constant memory cost |
mkPairData |
mkPairData-cpu-arguments |
Constant CPU cost |
mkPairData |
mkPairData-memory-arguments |
Constant memory cost |
modInteger |
modInteger-cpu-arguments-constant |
Constant CPU cost (argument sizes above diagonal) |
modInteger |
modInteger-cpu-arguments-model-arguments-intercept |
Linear model intercept for the CPU calculation (argument sizes on or below diagonal) |
modInteger |
modInteger-cpu-arguments-model-arguments-slope |
Linear model coefficient for the CPU calculation (argument sizes above diagonal) |
modInteger |
modInteger-memory-arguments-intercept |
Linear model intercept for the memory calculation |
modInteger |
modInteger-memory-arguments-minimum |
Constant memory cost (argument sizes above diagonal) |
modInteger |
modInteger-memory-arguments-slope |
Linear model coefficient for the memory calculation (argument sizes on or below diagonal) |
multiplyInteger |
multiplyInteger-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
multiplyInteger |
multiplyInteger-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
multiplyInteger |
multiplyInteger-memory-arguments-intercept |
Linear model intercept for the memory calculation |
multiplyInteger |
multiplyInteger-memory-arguments-slope |
Linear model coefficient for the memory calculation |
nullList |
nullList-cpu-arguments |
Constant CPU cost |
nullList |
nullList-memory-arguments |
Constant memory cost |
quotientInteger |
quotientInteger-cpu-arguments-constant |
Constant CPU cost (argument sizes above diagonal) |
quotientInteger |
quotientInteger-cpu-arguments-model-arguments-intercept |
Linear model intercept for the CPU calculation (argument sizes on or below diagonal) |
quotientInteger |
quotientInteger-cpu-arguments-model-arguments-slope |
Linear model coefficient for the CPU calculation (argument sizes on or below diagonal) |
quotientInteger |
quotientInteger-memory-arguments-intercept |
Linear model intercept for the CPU calculation (argument sizes on or below diagonal) |
quotientInteger |
quotientInteger-memory-arguments-minimum |
Constant memory cost (argument sizes above diagonal) |
quotientInteger |
quotientInteger-memory-arguments-slope |
Linear model coefficient for the memory calculation (argument sizes on or below diagonal) |
remainderInteger |
remainderInteger-cpu-arguments-constant |
Constant CPU cost (argument sizes above diagonal) |
remainderInteger |
remainderInteger-cpu-arguments-model-arguments-intercept |
Linear model intercept for the CPU calculation (argument sizes on or below diagonal) |
remainderInteger |
remainderInteger-cpu-arguments-model-arguments-slope |
Linear model coefficient for the CPU calculation (argument sizes on or below diagonal) |
remainderInteger |
remainderInteger-memory-arguments-intercept |
Linear model intercept for the memory calculation (argument sizes on or below diagonal) |
remainderInteger |
remainderInteger-memory-arguments-minimum |
Constant memory cost (argument sizes above diagonal) |
remainderInteger |
remainderInteger-memory-arguments-slope |
Linear model coefficient for the memory calculation (argument sizes on or below diagonal) |
sha2_256 |
sha2_256-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
sha2_256 |
sha2_256-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
sha2_256 |
sha2_256-memory-arguments |
Constant memory cost |
sha3_256 |
sha3_256-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
sha3_256 |
sha3_256-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
sha3_256 |
sha3_256-memory-arguments |
Constant memory cost |
sliceByteString |
sliceByteString-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
sliceByteString |
sliceByteString-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
sliceByteString |
sliceByteString-memory-arguments-intercept |
Linear model intercept for the memory calculation |
sliceByteString |
sliceByteString-memory-arguments-slope |
Linear model coefficient for the memory calculation |
sndPair |
sndPair-cpu-arguments |
Constant CPU cost |
sndPair |
sndPair-memory-arguments |
Constant memory cost |
subtractInteger |
subtractInteger-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
subtractInteger |
subtractInteger-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
subtractInteger |
subtractInteger-memory-arguments-intercept |
Linear model intercept for the memory calculation |
subtractInteger |
subtractInteger-memory-arguments-slope |
Linear model coefficient for the memory calculation |
tailList |
tailList-cpu-arguments |
Constant CPU cost |
tailList |
tailList-memory-arguments |
Constant memory cost |
trace |
trace-cpu-arguments |
Constant CPU cost |
trace |
trace-memory-arguments |
Constant memory cost |
unBData |
unBData-cpu-arguments |
Constant CPU cost |
unBData |
unBData-memory-arguments |
Constant memory cost |
unConstrData |
unConstrData-cpu-arguments |
Constant CPU cost |
unConstrData |
unConstrData-memory-arguments |
Constant memory cost |
unIData |
unIData-cpu-arguments |
Constant CPU cost |
unIData |
unIData-memory-arguments |
Constant memory cost |
unListData |
unListData-cpu-arguments |
Constant CPU cost |
unListData |
unListData-memory-arguments |
Constant memory cost |
unMapData |
unMapData-cpu-arguments |
Constant CPU cost |
unMapData |
unMapData-memory-arguments |
Constant memory cost |
verifySignature |
verifySignature-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
verifySignature |
verifySignature-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
verifySignature |
verifySignature-memory-arguments |
Constant memory cost |