The Dart vm should accept a list of kernel modules instead of a single monolithic file

Currently the pipeline for generating and running modular kernel files for the vm requires a concat step at the very end, to merge all the files into a single output. This is presenting problems when trying to compile large numbers of tests on CI environments such as Travis (example failure).

The problem is that each test in this example ends up producing a 22MB output file, even though its individual kernel module is quite small (low KBs generally). This results in a build cache that is almost 6GB in size for pub.

If the vm could take a list of dill files instead, and read them all in sequentially as if they were a single file (that’s all that is needed), then we could skip this entire build step and get caching working for CI environments (as well as using up a lot less disk space on users machines).

In theory these could also be read in parallel which may speed up the startup time.

Author: Fantashit

1 thought on “The Dart vm should accept a list of kernel modules instead of a single monolithic file

Comments are closed.