enso/project
Hubert Plociniczak 941512e0ba
Optimize import/export resolution (#5700)
This change adds serialization and deserialization of library bindings.
In order to be functional, one needs to first generate IR and
serialize bindings using `--compiled <path-to-library>` command. The bindings
will be stored under the library with `.bindings` suffix.
Bindings are being generated during `buildEngineDistribution` task, thus not
requiring any extra steps.

When resolving import/exports the compiler will first try to load
module's bindings from cache. If successful, it will not schedule its
imports/exports for immediate compilation, as we always did, but use the
bindings info to infer the dependent modules.

The current change does not make any optimizations when it comes to
compiling the modules, yet. It only delays the actual
compilation/loading IR from cache so that it can be done in bulk.
Further optimizations will come from this opportunity such as parallel
loading of caches or lazily inferring only the necessary modules.

Part of https://github.com/enso-org/enso/issues/5568 work.
2023-03-01 08:53:29 +00:00
..
src/main/scala/licenses Register instruments/language in their own compilation units to fix the sbt build issues (#3509) 2022-06-13 14:09:08 +00:00
BenchTasks.scala Bump SBT and Scalafmt (#1203) 2020-10-22 16:12:28 +02:00
build.properties Update Scala to 2.13.8 (#3631) 2022-08-08 19:32:55 +00:00
BuildInfo.scala Another attempt at M1 compilation (#3859) 2022-11-09 15:26:25 +00:00
Cargo.scala Check cargo return value to ensure issues are reported back to SBT (#5588) 2023-02-08 10:46:40 +00:00
CopyTruffleJAR.scala Bump SBT and Scalafmt (#1203) 2020-10-22 16:12:28 +02:00
CustomLogManager.scala Suppress pointless warnings coming from SBT (#3499) 2022-06-01 13:50:46 +00:00
Distribution.scala Bump SBT and Scalafmt (#1203) 2020-10-22 16:12:28 +02:00
DistributionPackage.scala Optimize import/export resolution (#5700) 2023-03-01 08:53:29 +00:00
Editions.scala Nightly proccess preparations: Setting Enso version through the environment (#3241) 2022-02-07 15:14:32 +01:00
EnvironmentCheck.scala Generate native image for engine-runner (#3638) 2022-09-22 14:45:10 +00:00
FrgaalJavaCompiler.scala Two findExceptionMessage methods to extract exception messages consistently (#5684) 2023-02-20 11:27:16 +00:00
GatherLicenses.scala Register instruments/language in their own compilation units to fix the sbt build issues (#3509) 2022-06-13 14:09:08 +00:00
GenerateFlatbuffers.scala New IDE build script (#3466) 2022-05-23 04:16:04 +02:00
LauncherShimsForTest.scala Check cargo return value to ensure issues are reported back to SBT (#5588) 2023-02-08 10:46:40 +00:00
LibraryManifestGenerator.scala Preinstalling With Dependencies (#1981) 2021-11-23 11:51:17 +03:00
NativeImage.scala Upgrade to GraalVM 22.3.0 (#3663) 2022-11-23 14:30:48 +00:00
Platform.scala Optimize import/export resolution (#5700) 2023-03-01 08:53:29 +00:00
plugins.sbt Expanding Derived Columns and Expression Syntax (#3782) 2022-11-08 15:57:59 +00:00
RecompileParser.scala Bump SBT and Scalafmt (#1203) 2020-10-22 16:12:28 +02:00
StdBits.scala Duration type is a builtin type (#3759) 2022-10-14 18:08:08 +00:00
VerifyReflectionSetup.scala Fix the project manager reflection configuration (#1394) 2021-01-14 10:46:01 +00:00
WithDebugCommand.scala Tweaks to make benchmarking easier (#3961) 2022-12-08 20:30:19 +00:00