Enso2025
From APIDesign
(Difference between revisions)
(→Performance and Runtime) |
(→Performance and Runtime) |
||
| (6 intermediate revisions not shown.) | |||
| Line 2: | Line 2: | ||
| - | == Performance and Runtime == | + | == The Year of Dual JVM! == |
| + | |||
| + | * Towards '''Dual JVM'''! | ||
| + | ** [https://github.com/enso-org/enso/issues/13172 Dual NI + JVM Mode for Loading Libraries] | ||
| + | ** [https://github.com/enso-org/enso/pull/12468 warning on non-AOT ready libraries] | ||
| + | ** [https://github.com/enso-org/enso/pull/13570 Running tests in dual JVM mode] | ||
| + | ** [https://github.com/enso-org/enso/pull/13570 Arrow format for LongStorage to make exchange between JVMs and Python possible] | ||
| + | ** [https://github.com/enso-org/enso/pull/14099 Fibonacci benchmark comparing hosted and dual JVM modes] | ||
| + | ** [https://github.com/enso-org/enso/pull/14232 Support for dynamic loading of native JVMs] | ||
| + | ** [https://github.com/enso-org/enso/pull/14309 Arrow like storage over ByteBuffer to allow dual JVM buffer exchange] | ||
| + | |||
| + | == Other Performance and Runtime Improvements == | ||
* Optimizing Enso distribution by not [https://github.com/enso-org/enso/issues/11483 Wasting 100MB by Standard.Image] | * Optimizing Enso distribution by not [https://github.com/enso-org/enso/issues/11483 Wasting 100MB by Standard.Image] | ||
| Line 11: | Line 22: | ||
** [https://github.com/enso-org/enso/issues/11846 Benchmark ... and speed it up] | ** [https://github.com/enso-org/enso/issues/11846 Benchmark ... and speed it up] | ||
** [https://github.com/enso-org/enso/pull/12720 60% speed up....] | ** [https://github.com/enso-org/enso/pull/12720 60% speed up....] | ||
| - | |||
| - | |||
| - | |||
| - | |||
* Tighten up execution semantics with [https://github.com/enso-org/enso/pull/12655 ... when interrupting Enso execution] | * Tighten up execution semantics with [https://github.com/enso-org/enso/pull/12655 ... when interrupting Enso execution] | ||
| Line 30: | Line 37: | ||
** [https://github.com/enso-org/enso/pull/12031 Reducing helper methods in ...] | ** [https://github.com/enso-org/enso/pull/12031 Reducing helper methods in ...] | ||
** Designing [https://github.com/enso-org/enso/pull/12163 Progress API] | ** Designing [https://github.com/enso-org/enso/pull/12163 Progress API] | ||
| + | ** [https://github.com/enso-org/enso/pull/14017 Moving >, >=, <, <= to types ....] | ||
| + | ** [https://github.com/enso-org/enso/pull/14133 Make Enso "conversion and equality oriented" language] - cleaning up [[Enso]] [[RootClass]] in the tradition of [[RootClass|jokes I like to tell...]] about [[OOP]] flaws | ||
* Improving runtime type system | * Improving runtime type system | ||
** [https://github.com/enso-org/enso/issues/13390 Allow -> Column&Any to let any visible type thru] | ** [https://github.com/enso-org/enso/issues/13390 Allow -> Column&Any to let any visible type thru] | ||
Current revision
In 2025 the Enso system has turned into really solid platform. Here is a curated list of important achievements:
Contents |
The Year of Dual JVM!
- Towards Dual JVM!
- Dual NI + JVM Mode for Loading Libraries
- warning on non-AOT ready libraries
- Running tests in dual JVM mode
- Arrow format for LongStorage to make exchange between JVMs and Python possible
- Fibonacci benchmark comparing hosted and dual JVM modes
- Support for dynamic loading of native JVMs
- Arrow like storage over ByteBuffer to allow dual JVM buffer exchange
Other Performance and Runtime Improvements
- Optimizing Enso distribution by not Wasting 100MB by Standard.Image
- Rely more on Y.js: execute Y.js and Insight together & co.
- Usual speed ups like
- Tighten up execution semantics with ... when interrupting Enso execution
Improving the GUI
- Progress API to report status of computation to the GUI
- Telemetry via logging to give us insight into what users really do
Language & Libraries
- Encapsulation via private keyword
- Cleaning various APIs up
- Reducing helper methods in ...
- Designing Progress API
- Moving >, >=, <, <= to types ....
- Make Enso "conversion and equality oriented" language - cleaning up Enso RootClass in the tradition of jokes I like to tell... about OOP flaws
- Improving runtime type system
List of 256 issues and requests in year 2025. The next year is Enso2026. The previous year was Enso2024.