Optimize ContractToImplementorsSerializer and Map to get below 100ms in WebAssembly context and then reinstate it in Dolittle.Types.Bootstrap.Boot #219
Serialization should be working on the byte stream coming from the manifest resource
Instead of using string methods such as split, we should read byte for byte and parse. This is very much doable for us since the format is super simple.
There is a hit on Type.GetType()- not sure how we can overcome this. We need to be able to convert from the string representation to an actual Type. This is something we would need to figure out a better way. One thing that has been tried out was to get all types on all assemblies at construction and put it into a Dictionary. This had a cost of around 85ms on my machine. So not a good solution.
There are a few things we can do to improve this:
Type.GetType()
- not sure how we can overcome this. We need to be able to convert from the string representation to an actualType
. This is something we would need to figure out a better way. One thing that has been tried out was to get all types on all assemblies at construction and put it into a Dictionary. This had a cost of around 85ms on my machine. So not a good solution.┆Issue is synchronized with this Asana task