mirror of
https://github.com/enso-org/enso.git
synced 2024-11-27 05:23:48 +03:00
4b4167fc06
Benchmark to compare _curried and lambda_ based function invocations and a fix to make _curried_ invocation (at least) as fast as the _lambda_ one. Allows us to use _curried invocations_ in standard library again without loosing any speed. # Important Notes Execute as: ``` sbt:runtime> benchOnly CurriedFunctionBenchmarks ``` Prior to subsequent bugfixes in this PR the benchmark results were: - `averageCurried` runs in 0.290 ms - `averageLambda` runs in 0.122 ms e.g. _curried invocations_ is more than twice slow. That confirms our findings from the `Array_Proxy` vector benchmarks. The problem is that _function object is not compilation final_. After fixing it we have following results: - `averageCurried` runs in 0.102 ms - `averageLambda` runs in 0.111 ms e.g. both operations are of similar complexity. |
||
---|---|---|
.. | ||
Standard |