how to reduce memory during generation step in build language

Hello,

We have multiple big solutions  that are mutualy independent. We need to build them all in a build file during CI. The build language seems to always throw all solutions together in one chunk. Generating this chunk now needs more then 8G, which our build machine is unable to supply reliably. 

As a possible solution we would like to specify that several solutions are build in separate chunks or separate runs of the generate task.

Is that possible?

Are there any other ways to reduce memory consumption  during generation?

Thank!

Tom

2 comments
Comment actions Permalink

Did you check build project of MPS itself (jetbrains.mps.ide.build solution)? It consists of multiple build projects, responsible for different aspects of the final product. Indeed, there's huge mpsBootstrapCore (just because MPS needs most of its own languages to build itself), but otherwise you can break your product down to few build projects, and launch them one by one.

1
Comment actions Permalink

Thanks for the reply Tikhomirov!

I tracked down the cause yesterday: one of our very productive test generating collegues wrote more then 4500 tests and put them all in one model. To just generate that one model we needed upto 11Gb of memory. As soon as we chopped this model down in smaller models the memory requirement dropped and all was within limits again.

So the bottom line is: keep your model-size within limits and make new models when needed.

-Tom

1

Please sign in to leave a comment.