Enso2025
From APIDesign
(Difference between revisions)
(→Performance and Runtime) |
(→Performance and Runtime) |
||
| (17 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] | ||
* Rely more on ''Y.js'': [https://github.com/enso-org/enso/issues/11477 execute Y.js and Insight together] & co. | * Rely more on ''Y.js'': [https://github.com/enso-org/enso/issues/11477 execute Y.js and Insight together] & co. | ||
| - | * Usual speed ups like [https://github.com/enso-org/enso/issues/11846 Benchmark ... and speed it up] | + | ** [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] | ||
== Improving the GUI == | == Improving the GUI == | ||
* [https://github.com/enso-org/enso/issues/12009 Progress API to report status of computation to the GUI] | * [https://github.com/enso-org/enso/issues/12009 Progress API to report status of computation to the GUI] | ||
| + | * [https://github.com/enso-org/enso/issues/13214 Telemetry via logging] to give us insight into what users really do | ||
== Language & Libraries == | == Language & Libraries == | ||
| Line 16: | Line 33: | ||
* Encapsulation via '''private''' keyword | * Encapsulation via '''private''' keyword | ||
** [https://github.com/enso-org/enso/pull/12052 Types with private constructors can be public] & co. | ** [https://github.com/enso-org/enso/pull/12052 Types with private constructors can be public] & co. | ||
| + | ** [https://github.com/enso-org/enso/pull/12905 Prevent Meta access...] | ||
* Cleaning various [[API]]s up | * Cleaning various [[API]]s up | ||
** [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] | |
| + | ** [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 | ||
| + | ** [https://github.com/enso-org/enso/issues/13390 Allow -> Column&Any to let any visible type thru] | ||
List of [https://github.com/enso-org/enso/issues?q=state%3Aclosed%20author%3Ajaroslavtulach%20closed%3A2025%20sort%3Acreated-asc 256 issues and requests] in year 2025. The next year is [[Enso2026]]. The previous year was [[Enso2024]]. | List of [https://github.com/enso-org/enso/issues?q=state%3Aclosed%20author%3Ajaroslavtulach%20closed%3A2025%20sort%3Acreated-asc 256 issues and requests] in year 2025. The next year is [[Enso2026]]. The previous year was [[Enso2024]]. | ||
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.