FirelyTeam / firely-cql-sdk

BSD 3-Clause "New" or "Revised" License
30 stars 17 forks source link

Memoize library defines (2.0) #600

Open baseTwo opened 1 month ago

baseTwo commented 1 month ago

A follow-up on the performance optimisation that was done in #575 where library classes were generated as singletons that contain no state, thus removing any previous memorization of defines.

A new solution must be found, probably that it moves to the CqlContext in an efficient manner

baseTwo commented 1 month ago

Since this ticket was created, the 1.0 implementation updated their solution to put the Lazy<> and CqlContext state back into libraries, only for those that have context defined, while leaving the other libraries as singletons. See PR https://github.com/FirelyTeam/firely-cql-sdk/pull/590

So when this ticket is implemented, it must be decided to copy the 1.0 solution, or continue finding an optimal way to put the state in the context as per the original issue description.