Enso2024
From APIDesign
(Difference between revisions)
(→Performance and Runtime) |
(→Tooling and other Projects) |
||
| (3 intermediate revisions not shown.) | |||
| 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] | ||
| + | * [https://github.com/enso-org/enso/pull/13052 Contributed to Helidon] | ||
== Improving Language & Libraries == | == Improving Language & Libraries == | ||
| Line 27: | Line 29: | ||
* [https://github.com/enso-org/enso/pull/8779 Binary operator resolution based on that value] - technically '''double dispatch''' at full speed | * [https://github.com/enso-org/enso/pull/8779 Binary operator resolution based on that value] - technically '''double dispatch''' at full speed | ||
* [https://github.com/enso-org/enso/pull/9070 Equality and Conversions] | * [https://github.com/enso-org/enso/pull/9070 Equality and Conversions] | ||
| + | * [https://github.com/enso-org/enso/pull/11600 Intersection types & type checks] - towards inheritance with functional programming flavor! | ||
* Fixing [https://github.com/enso-org/enso/issues/9329 Inconsistent import and FQN] behavior | * Fixing [https://github.com/enso-org/enso/issues/9329 Inconsistent import and FQN] behavior | ||
* Reworked [https://github.com/enso-org/enso/issues/10355 comparable & hashing & equality] and make it [https://github.com/enso-org/enso/pull/10468 consistent and sound] | * Reworked [https://github.com/enso-org/enso/issues/10355 comparable & hashing & equality] and make it [https://github.com/enso-org/enso/pull/10468 consistent and sound] | ||
| Line 34: | Line 37: | ||
| - | List of [https://github.com/enso-org/enso/issues?q=state%3Aclosed%20author%3Ajaroslavtulach%20closed%3A2024%20sort%3Acreated-asc 257 issues and requests] resolved in 2024. | + | List of [https://github.com/enso-org/enso/issues?q=state%3Aclosed%20author%3Ajaroslavtulach%20closed%3A2024%20sort%3Acreated-asc 257 issues and requests] resolved in 2024. The story continued in [[Enso2025]]. The previous year was [[Enso2023]]. |
Current revision
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
- Contributed to Helidon
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
- Intersection types & type checks - towards inheritance with functional programming flavor!
- 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. The story continued in Enso2025. The previous year was Enso2023.