Open DavidBoike opened 8 years ago
Surely we could make this more efficient and shave off a good chunk of startup time
Do we have any times?
Should we profile the startup to see where we spend the most time currently?
I created an endpoint with 6 message assemblies and a total of roughly 130 messages.
Right now the convention scanning is almost not relevant in comparison to assembly scanning which takes up over 50 % of the endpoint configuration build time
When an endpoint starts up, the message conventions are applied to all types.
Then the Scheduler feature comes along and adds system message conventions in its setup:
If you follow that method, it calls
MessagesConventionCache.Reset();
So now that work is out the window, and (for example) the IsCommand delegate will get called twice more for the same message class, once as part of
Conventions.IsMessageType
and then as part ofConventions.IsCommandType(t)
.Surely we could make this more efficient and shave off a good chunk of startup time for users with lots of included assemblies?
(But not a must-have for RC)