sq / JSIL

CIL to Javascript Compiler
http://jsil.org/
Other
1.73k stars 241 forks source link

Method signatures cache improvements #977

Closed iskiselev closed 8 years ago

iskiselev commented 8 years ago

Here i implemented caching of open generic signatures (#970) and preserving only one signature cache per signature (896).

Both features are hidden under default settings. (1) To enable global caching for open generic signatures user should change config: CodeGenerator.PreferLocalCacheForGenericMethodSignatures=false (2) To enable global caching for open generic interface method signatures user should change config: CodeGenerator.PreferLocalCacheForGenericInterfaceMethodSignatures=false (3) To enable storing only one method signature cache per signature: CodeGenerator.CacheOneMethodSignaturePerMethod=false

I will still work more on method calls performance improvements, as all suggested option could either increase or decrease execution time dependent on usage scenario.

For my project I get about 20% performance improvement with CodeGenerator.PreferLocalCacheForGenericMethodSignatures=false. All other settings actually have not changed measured performance of my application.

kg commented 8 years ago

Cool, thanks for doing this. Sounds like a big improvement.