Enso2024
From APIDesign
(Difference between revisions)
(→Performance and Runtime) |
(→Tooling) |
||
| Line 16: | Line 16: | ||
* ''Talking to compiler'' to [https://github.com/enso-org/enso/pull/10150 benchmark ArrowOperationPlus node] and speed it up! | * ''Talking to compiler'' to [https://github.com/enso-org/enso/pull/10150 benchmark ArrowOperationPlus node] and speed it up! | ||
| - | == Tooling == | + | == Tooling and other Projects == |
* [https://github.com/enso-org/enso/pull/7054 Enso language support with parser in VSCode, IGV, etc.] | * [https://github.com/enso-org/enso/pull/7054 Enso language support with parser in VSCode, IGV, etc.] | ||
* [https://github.com/enso-org/enso/pull/9452 Instrumentation, visualization and autoscoped constructors] | * [https://github.com/enso-org/enso/pull/9452 Instrumentation, visualization and autoscoped constructors] | ||
| + | * [https://github.com/enso-org/enso/pull/11207 Contributed to Snakeyaml] | ||
== Improving Language & Libraries == | == Improving Language & Libraries == | ||
Revision as of 07:58, 30 April 2026
Enso story continued in 2024 as well...
Performance and Runtime
- Magnitudes of startup speed up by using GraalVM AOT compilation
- Avoid IR traversal by converting (some of) our Passes to mini passes - lowers GC presure, improves locality, allows inlining
- adopting Apache Arrow format for interop with Python Pandas & co.
- 5-10% speedup...
- Eliminate 10% overhead ... by inlining objects together
- Modularization and cleanup of dependencies like Removing Truffle API dependency from runtime-compiler project
- Never ending rewriting from Scala to Java like #9810
- Use small JDK by Reduce set of JDK modules required by Enso
- Removal of Desktop and Java SE modules not needed in a headless application like Enso
- Talking to compiler to benchmark ArrowOperationPlus node and speed it up!
Tooling and other Projects
- Enso language support with parser in VSCode, IGV, etc.
- Instrumentation, visualization and autoscoped constructors
- Contributed to Snakeyaml
Improving Language & Libraries
- Autoscoping of constructors - essential and speculative language improvement
- Merged as #9190
- Binary operator resolution based on that value - technically double dispatch at full speed
- Equality and Conversions
- Fixing Inconsistent import and FQN behavior
- Reworked comparable & hashing & equality and make it consistent and sound
List of 257 issues and requests resolved in 2024. Previous year was Enso2023.