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
FromInterface now performs upgrades automatically, this means that it traverses the entire contract value when called.
(It actually traverses twice, as it reuses importValue to do the transformation, which means we must call toValue first)
This primitive is assumed to simply be a downcast, and as such, does not run in Update.
It is possible users will set up code like so
case myInterface where
(fromInterface @Template1-> t) ->...
(fromInterface @Template2-> t) ->...
(fromInterface @Template3-> t) ->...
which would perform very badly with upgrades.
This ticket is to explore how much of an issue this is, change the primitive if needed, and perhaps optimise it to only traverse once.
Note however, that the engine is the fastest part of the canton transaction pipeline, so this may be a non-issue
The text was updated successfully, but these errors were encountered:
FromInterface now performs upgrades automatically, this means that it traverses the entire contract value when called.
(It actually traverses twice, as it reuses importValue to do the transformation, which means we must call toValue first)
This primitive is assumed to simply be a downcast, and as such, does not run in Update.
It is possible users will set up code like so
which would perform very badly with upgrades.
This ticket is to explore how much of an issue this is, change the primitive if needed, and perhaps optimise it to only traverse once.
Note however, that the engine is the fastest part of the canton transaction pipeline, so this may be a non-issue
The text was updated successfully, but these errors were encountered: