enso/engine
James Dunkerley a3de3c6128
Use ArraySlice to slice a Vector (#3724)
Use an `ArraySlice` to slice `Vector`.
Avoids memory copying for the slice function.

# Important Notes
| Test | Ref | New |
| --- | --- | --- |
| New Vector | 71.9 | 71.0 |
| Append Single | 26.0 | 27.7 |
| Append Large | 15.1 | 14.9 |
| Sum | 156.4 | 165.8 |
| Drop First 20 and Sum | 171.2 | 165.3 |
| Drop Last 20 and Sum | 170.7 | 163.0 |
| Filter | 76.9 | 76.9 |
| Filter With Index | 166.3 | 168.3 |
| Partition | 278.5 | 273.8 |
| Partition With Index | 392.0 | 393.7 |
| Each | 101.9 | 102.7 |

- Note: the performance of New and Append has got slower from previous tests.
2022-09-23 15:13:16 +00:00
..
language-server create inmem database (#3690) 2022-09-07 12:59:18 +03:00
launcher/src Update Scala to 2.13.8 (#3631) 2022-08-08 19:32:55 +00:00
polyglot-api/src IDE uses new visualization API (#3661) 2022-09-01 15:33:46 +03:00
runner Generate native image for engine-runner (#3638) 2022-09-22 14:45:10 +00:00
runner-native/src Generate native image for engine-runner (#3638) 2022-09-22 14:45:10 +00:00
runtime Use ArraySlice to slice a Vector (#3724) 2022-09-23 15:13:16 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Generate native image for engine-runner (#3638) 2022-09-22 14:45:10 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Generate native image for engine-runner (#3638) 2022-09-22 14:45:10 +00: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 Generate native image for engine-runner (#3638) 2022-09-22 14:45:10 +00:00
runtime-with-instruments/src/test Fix expression updates for builtin types (#3721) 2022-09-19 13:56:51 +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.