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.
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_256-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
blake2b_256 |
blake2b_256-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
blake2b_256 |
blake2b_256-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) |
serialiseData |
serialiseData-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
serialiseData |
serialiseData-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
serialiseData |
serialiseData-memory-arguments-intercept |
Linear model intercept for the memory calculation |
serialiseData |
serialiseData-memory-arguments-slope |
Linear model coefficient for the memory calculation |
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 |
verifyEcdsaSecp256k1Signature |
verifyEcdsaSecp256k1Signature-cpu-arguments |
Constant CPU cost |
verifyEcdsaSecp256k1Signature |
verifyEcdsaSecp256k1Signature-memory-arguments |
Constant memory cost |
verifyEd25519Signature |
verifyEd25519Signature-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
verifyEd25519Signature |
verifyEd25519Signature-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
verifyEd25519Signature |
verifyEd25519Signature-memory-arguments |
Constant memory cost |
verifySchnorrSecp256k1Signature |
verifySchnorrSecp256k1Signature-cpu-arguments-intercept |
Linear model intercept for the CPU calculation |
verifySchnorrSecp256k1Signature |
verifySchnorrSecp256k1Signature-cpu-arguments-slope |
Linear model coefficient for the CPU calculation |
verifySchnorrSecp256k1Signature |
verifySchnorrSecp256k1Signature-memory-arguments |
Constant memory cost |