enso/engine
Hubert Plociniczak 50f376e365
JGit should run its bookkeeping in the background (#4116)
JGit ops generally run fast (as in a few milliseconds) except for the first commit. The initialization + first commit was taking at least 3.5 seconds constistenly, but only in the first test case. Now, this led to frequent timeouts down the chain when the request was expected to finish fast.
The bookkeeping involved some timestamping and other expensive calls in order to calculate clock drift. The default appears to be to run it in a blocking mode, hence adding at least 3 seconds to the first command call.

Setting the job to run in the background makes the cost of the repo initialization acceptable (~300 milliseconds on a cold JVM). The other commands are unaffected and take < 10 milliseconds.

# Important Notes
Added a test to ensure that we don't introduce the regression. Marked it as potentially flaky because it uses timestamps and it is  therefore prone to random system hiccups.
2023-02-03 10:37:28 +00:00
..
language-server JGit should run its bookkeeping in the background (#4116) 2023-02-03 10:37:28 +00:00
launcher/src Update Scala to 2.13.8 (#3631) 2022-08-08 19:32:55 +00:00
polyglot-api/src Custom type conversion to double from large long (#4099) 2023-01-31 15:13:00 +00:00
runner Custom type conversion to double from large long (#4099) 2023-01-31 15:13:00 +00:00
runtime Prevent errors in log when closing a context (#4107) 2023-02-01 16:27:45 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Add Polyglot Support in Runtime Tests (#4016) 2023-01-03 14:36:26 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Improve undefined method error message on builtin types (#3907) 2022-11-30 13:37:17 +01:00
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument Register instruments/language in their own compilation units to fix the sbt build issues (#3509) 2022-06-13 14:09:08 +00:00
runtime-language-epb/src/main/java/org/enso/interpreter/epb All Enso objects are hasheable (#3878) 2023-01-19 10:33:25 +01:00
runtime-with-instruments/src/test Fix vcs-restore edit notification (#4100) 2023-01-30 21:08:30 +00:00
runtime-with-polyglot/src/test Fix vcs-restore edit notification (#4100) 2023-01-30 21:08:30 +00: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.