Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mir Algorithm takes an absurd amount of memory to build #385

Open
ellie-idb opened this issue Dec 8, 2021 · 3 comments
Open

Mir Algorithm takes an absurd amount of memory to build #385

ellie-idb opened this issue Dec 8, 2021 · 3 comments

Comments

@ellie-idb
Copy link
Member

In the process of building Mir Algorithm's unittests, I'm frequently running into situations where dub exits with -9 (indicating that my system has run out of memory). After further examination, dmd is using 6+ GB of RAM when trying to build the unittests (this is also with -lowmem).
Screen-Shot-2021-12-08-12-10-54

This is killing me over here -- I only run a MBP with 16 GB of RAM (subject to upgrade), and I'm getting spurious build issues due to running out of memory.

@9il
Copy link
Member

9il commented Dec 8, 2021

How is ldc2 with -lowmem? You can turn off most of the tests. They are wrapped with version.

@ellie-idb
Copy link
Member Author

LDC has the same problem (spikes up to 7 GB before running into an OOM):
Screen-Shot-2021-12-08-12-39-55

Disabling the unittests under version (mir_test) fixes this, but this problem is a huge pain...

@jmh530
Copy link
Contributor

jmh530 commented Dec 8, 2021

@hatf0 When I'm developing on mir-algorithm (yesh, it has been a while), I usually change the unittests that are relevant to me (including new ones) to some other version specifier and only run dub test for that as I need it. This particularly works well for orthogonal new features.

Admittedly, it might make sense to create a separate tests folder and move anything that is not a documentation unit test to that folder. Another approach might be to give the documentation unit tests a separate version identifier so that you can test with some smaller coverage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants