enso/distribution
Jaroslav Tulach 4b4167fc06
Curried and lambda function invocation should be both fast (#3979)
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.
2022-12-16 07:12:24 +00:00
..
bin Enso Integration with Ideal Graph Visualizer (#3533) 2022-06-23 04:43:49 +00:00
engine/THIRD-PARTY Project save backed by git (#3851) 2022-11-14 17:32:39 +00:00
launcher Load the File_Format types via a ServiceLoader (#3813) 2022-10-24 09:55:18 +00:00
lib/Standard Curried and lambda function invocation should be both fast (#3979) 2022-12-16 07:12:24 +00:00
project-manager/THIRD-PARTY Load the File_Format types via a ServiceLoader (#3813) 2022-10-24 09:55:18 +00:00
enso.bundle.template Better component handling in the project manager (#1399) 2021-01-15 15:26:51 +00:00
launcher-manifest.yaml Bump the development version number (#1389) 2021-01-06 08:57:02 +00:00
manifest.template.yaml Bump Minimal PM/Launcher Versions for New Engine (#1854) 2021-07-13 13:08:00 +02:00