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

Use dmd -run instead of rdmd #327

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

0xEAB
Copy link
Contributor

@0xEAB 0xEAB commented Oct 22, 2023

Experiment: replace rdmd with dmd -run

Opinions?
Please, let me know if I broke something.

@0xEAB
Copy link
Contributor Author

0xEAB commented Oct 22, 2023

Suspicious enough, it passes the CI tests (unlike other PRs)…

@deadalnix
Copy link
Contributor

I'm just seeing this now, because github's UI is nothing short of complete garbage. Let me try this.

@deadalnix
Copy link
Contributor

rdmd -m64 -Isrc -w -debug -g -unittest -i --extra-file=src/config/build.d --extra-file=src/config/hash.d --extra-file=src/config/heap.d --extra-file=src/config/jsonparser.d --extra-file=src/config/map.d --extra-file=src/config/traits.d --extra-file=src/config/value.d --eval="assert(true)"
27 modules passed unittests

vs

dmd -m64 -Isrc -w -debug -g -unittest -i -main -run src/config/build.d src/config/hash.d src/config/heap.d src/config/jsonparser.d src/config/map.d src/config/traits.d src/config/value.d
25 modules passed unittests

Where does the difference come from?

@deadalnix
Copy link
Contributor

It also seems to be significantly slower. I get 4s for the former vs 7s for the later.

@maxhaton
Copy link
Collaborator

It also seems to be significantly slower. I get 4s for the former vs 7s for the later.

When invoked from the makefile or a raw command? If the former then it may be because rdmd caches and dmd -run obviously won't.

@deadalnix
Copy link
Contributor

Invoked raw, but it doesn't change anything, from the makefile, the targets are phony anyways.

You are right it's probably due to caching.

@0xEAB
Copy link
Contributor Author

0xEAB commented Nov 11, 2023

Where does the difference come from?

Given the performance regression, is it still worth investigating the difference in the number of tested modules?

@deadalnix
Copy link
Contributor

I'm not sure. I'm still very curious to know why the test count doesn't match, this is very bizare.

@0xEAB
Copy link
Contributor Author

0xEAB commented Dec 14, 2023

I guess, dlang/dmd#15795 would be useful here

@deadalnix
Copy link
Contributor

Yes, at least we'll be able to identify what the changes are and if they are bad or not. Ideally, we'd like to runt the tests from the modules we pass explicitly, and only these (that's not at all what dmd/rdmd are doing).

@maxhaton
Copy link
Collaborator

Yes, at least we'll be able to identify what the changes are and if they are bad or not. Ideally, we'd like to runt the tests from the modules we pass explicitly, and only these (that's not at all what dmd/rdmd are doing).

Hopefully that other PR I made to enable that behaviour can get merged...

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

Successfully merging this pull request may close these issues.

3 participants