-
Notifications
You must be signed in to change notification settings - Fork 100
[rfc] speed up build times #30
Comments
I know it's probably impossible to change the base image, but I will point out that in my experience using APK on Alpine Linux in Docker, the installation times are way faster. For example, |
I think solution two is DOA due to isolating languages. I like the idea of the first solution; I was playing around with figuring out how flexible it'd be. I'm not sure if we could easily always straight-up copy language-specific stuff into a unified image—I think we'd need to figure out how to resolve filename conflicts, for instance, though maybe we could leverage some parts of the .deb packages to figure out exactly what we need to copy out of the image. I think going down this path might end up with us solving the same problems as a distro package manager, but it might be our best bet. So a potential third solution, just for thought: take advantage of the package manager and create a Ultimately, what polygott is doing is installing dozens of languages and hundreds (thousands?) of their dependencies, which is inherently a lot of work. We can definitely work on making the development experience tighter for individual languages, but if the goal here is to have everything in the same image then I'm not sure how much faster things can realistically be, and I think we might just have to wait it out. Also @raxod502: so there's almost certainly room for improvement at the package manager level that we could experiment with. |
Yes, but part of the improvement comes from the fact that APK's repositories contain packages that are compiled to be smaller and more lightweight.
We are fine with it taking 40 minutes to build the whole image. What we want is to be able to rebuild the image in much less time if we only modify one language. I think this is possible at least in principle.
In principle it sounds like a problem, but in practice how many Node apps are going to need to start Swift subprocesses? I think we could just figure out what are the combinations people actually want, and then support those (e.g. each TOML file could have a list of other languages to be compiled into that language's image). |
The long build times for polygott seems to be a pretty universal issue. Specifically phase2 (the language installation step) must almost always run and takes by far the longest.
Proposed solutions:
The text was updated successfully, but these errors were encountered: