At the moment, it makes no sense to make the fields of Node components strict as we exploit laziness for lazy marshalling back to Haskell. However, the following would be even better.
This balances thunk creation and entering overhead with the overhead of marshalling elementary values that are not ending up being changed.
At the moment, it makes no sense to make the fields of
Nodecomponents strict as we exploit laziness for lazy marshalling back to Haskell. However, the following would be even better.Nodecomponents strict (at least those of elementary type, but maybe also some frequently modified ones ofPoint,Rect, and so on types).Scene. (Maybe even do it first forScene.)This balances thunk creation and entering overhead with the overhead of marshalling elementary values that are not ending up being changed.