enso/engine
Hubert Plociniczak 5b91f16498
Generate UUIDs on demand (#8728)
Trying to avoid expensive `UUID.randomUUID()` unless we reallly need it.

Closes #8716.

# Important Notes
Some improvement:
![Screenshot from 2024-01-11 15-16-10](https://github.com/enso-org/enso/assets/292128/d8800490-6676-4b71-b178-7ce2e79942e5)

FWIW Total Time for a Hello World example

Before
![Screenshot from 2024-01-12 17-45-56](https://github.com/enso-org/enso/assets/292128/c0bfe7c5-c0a5-4375-8dd9-afb0714ae6c4)

After
![Screenshot from 2024-01-12 17-46-13](https://github.com/enso-org/enso/assets/292128/ea76c413-018f-4b67-9777-85378eb38210)

Memory usage

Before
![Screenshot from 2024-01-12 17-54-54](https://github.com/enso-org/enso/assets/292128/280b1eff-e019-4241-a2a1-07445949d285)

After
![Screenshot from 2024-01-12 17-54-36](https://github.com/enso-org/enso/assets/292128/b6524c8b-2a38-4e51-85eb-63142420f2ff)
2024-01-12 21:50:12 +00:00
..
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
language-server Suppress logs for test cases unless a failure is reported (#8694) 2024-01-09 09:59:10 +00:00
launcher/src All unit tests use the same testing logging provider (#8593) 2023-12-21 13:45:33 +00:00
polyglot-api/src Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
runner Instructions to build Enso with Espresso for GraalVM for JDK21 (#8641) 2024-01-05 10:18:39 +01:00
runtime Generate UUIDs on demand (#8728) 2024-01-12 21:50:12 +00:00
runtime-compiler/src/main Generate UUIDs on demand (#8728) 2024-01-12 21:50:12 +00:00
runtime-fat-jar/src/main/java Remove org.bouncycastle dependency (#8664) 2024-01-04 17:16:41 +01:00
runtime-instrument-common/src Generate UUIDs on demand (#8728) 2024-01-12 21:50:12 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Introducing engine/runtime-compiler project (#8197) 2023-11-01 12:42:34 +01:00
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
runtime-language-arrow/src Arrow language (#8512) 2024-01-12 18:19:36 +00:00
runtime-language-epb/src Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
runtime-parser/src Generate UUIDs on demand (#8728) 2024-01-12 21:50:12 +00:00
runtime-test-instruments/src/main/java Executing (parts of) Truffle TCK with Enso values (#8685) 2024-01-12 07:21:16 +01:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

The Enso Engine

The Enso engine is the codebase responsible for compiling and executing Enso code, as well as providing language server functionality to users of the language. It is subdivided into two major components:

  • Language Server: The Enso language service.
  • Polyglot API: The truffle-boundary safe API for communication between the language server and the runtime.
  • Runner: The command-line interface for Enso.
  • Runtime: The compiler and interpreter for Enso.