Enso2025
From APIDesign
(Difference between revisions)
(→Performance and Runtime) |
(→Performance and Runtime) |
||
| Line 2: | Line 2: | ||
| - | == | + | == The Year of Dual JVM! == |
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
* Towards '''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/issues/13172 Dual NI + JVM Mode for Loading Libraries] | ||
| Line 18: | Line 11: | ||
** [https://github.com/enso-org/enso/pull/14099 Fibonacci benchmark comparing hosted and dual JVM modes] | ** [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/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] | ||
| + | * Rely more on ''Y.js'': [https://github.com/enso-org/enso/issues/11477 execute Y.js and Insight together] & co. | ||
| + | ** [https://github.com/enso-org/enso/pull/13178 Launching ydoc-server together with language-server] | ||
| + | ** [https://github.com/enso-org/enso/pull/13206 Channel connecting two JVM instances] | ||
| + | * Usual speed ups like | ||
| + | ** [https://github.com/enso-org/enso/issues/11846 Benchmark ... and speed it 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] | ||
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.