Hi. I’m considering switching from jitclass to structref. I would like to know :
- if the resulting compilation of methods/initializers can be cached on disk, as normal functions are with njit(cache=True). For now, to keep cache working I am converting any jitclass to a tuple before they exit njited cached functions, and converting the tuple to the jitclass after they enter.
- the performance impact of repeatedly following the self.myfield references. I know this was/is(?) a concern with jitclasses due to reference counting. My usecase is long algorithms where I use closures extensively to capture locally constant values, compilation time ~ 2mn and load from disk is ~1s.
- the practicality of writting a wrapper to get a similar interface to the jitclass decorator.
- if it would be possible to take advantage of caching to iterate on a method implementation without triggering the recompilation of all methods on the structref.
I will get to test these, but any pointers would be appreciated.