You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
a more recent approach to data encoding specified in CIP-0085.
PlutusData
A.k.a. no encoding: using built-in Data primitive type that can represent any algebraic data type without function-as-values. This is the approach of Aiken.
Our considerations
🟡 Both SOP and Scott encoding introduce significant constant overhead for decoding from PlutusData
🟢 We decided to go with SOP, because IOG optimization efforts will be focused on it.
🔴 PlutusData is known to be less performant benchmarks
❌ PlutusData is not usable: we need functions in ADTs, because we need to implement type class instances as records.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
This is a summary of a discussion that happened internally, here for visibility.
We have considered three approaches to data encoding.
Scott Encoding
Sum of Products
PlutusData
A.k.a. no encoding: using built-in
Data
primitive type that can represent any algebraic data type without function-as-values. This is the approach of Aiken.Our considerations
🟡 Both SOP and Scott encoding introduce significant constant overhead for decoding from PlutusData
🟢 We decided to go with SOP, because IOG optimization efforts will be focused on it.
🔴 PlutusData is known to be less performant benchmarks
❌ PlutusData is not usable: we need functions in ADTs, because we need to implement type class instances as records.
Beta Was this translation helpful? Give feedback.
All reactions