-
-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
KeyStringsclass is an expensive class, insteadKeyStringsshould be part ofJSContextas a field and must be shared as unique instance.- Avoid Pre Initialized Static fields as every access is a conditional access.
- A new Script Instance must be derived from
JSFunctionwithInvokeFunctionoverriden. And every keystring should be a field inside derived class. This is to avoid static access. - Saved assembly with classes provide better closure access instead of dynamic collection growing collection. Compiled classes offer better loading at runtime compared to dynamic methods. Every call to
JSFunctionis two indirection due to inheritedInvokeFunctionas well as calling delegate which again does null check, method pointer fetch and jumping to instruction. - We are not going to use C# code generation as it skips tail call optimization.
.NET 9offers Portable Debug documents in the assembly that can remove need for extra IL to track stack traces.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels