Performance degradation when using dynamic constants as a static paramet to another InDy/ConDy
Class generation suffer from serious performance degradation when dynamic constant is used as a static parameter value for another dynamic constant on InDy.
Sample JMH benchmark: https://github.com/Maccimo/AsmConDyBigOuch
Summary table from above benchmark on my machine:
Benchmark | (chainLength) | Mode | Cnt | Score | Error | Units |
---|---|---|---|---|---|---|
ChainedConDyGenerationBenchmark.testConDyChainGeneration | 1 | thrpt | 5 | 441449,126 | ± 7609,787 | ops/s |
ChainedConDyGenerationBenchmark.testConDyChainGeneration | 8 | thrpt | 5 | 54861,310 | ± 376,409 | ops/s |
ChainedConDyGenerationBenchmark.testConDyChainGeneration | 16 | thrpt | 5 | 319,516 | ± 3,979 | ops/s |
ChainedConDyGenerationBenchmark.testConDyChainGeneration | 32 | thrpt | 5 | 0,005 | ± 0,001 | ops/s |