rascal icon indicating copy to clipboard operation
rascal copied to clipboard

Significant performance regression in rascal-core generate sources and/or running the tests

Open jurgenvinju opened this issue 3 years ago • 8 comments

Describe the bug

"Compile, Generate and Test" went from 45-60 minutes of previous versions of rascal-core to over 2 hours in the current version:

  • current version https://github.com/usethesource/rascal-core/runs/4546598033?check_suite_focus=true
  • representative earlier version: https://github.com/usethesource/rascal-core/runs/4458098179?check_suite_focus=true

Note that the github action is significantly slower than my own machine. Still there is a significant slow-down on my machine too, I feel. I can't check easily though without re-running the old version.

To Reproduce

  • run mvn test in rascal-core
  • or wait on the github actions after a push

jurgenvinju avatar Dec 16 '21 13:12 jurgenvinju

  • the current version loops through pcfg.libs to find if certain files exist, while the last version that takes 60 minutes does not do that. could that be the cause? the libs contains 4 jar files which are (very) big, and possibly not indexed? finding out if something is not in there could take a while...

jurgenvinju avatar Dec 16 '21 13:12 jurgenvinju

the 2 hours is also due to 3 times checker is run.

afbeelding

DavyLandman avatar Dec 16 '21 14:12 DavyLandman

That is a different project. I'm talking about rascal-core

jurgenvinju avatar Dec 16 '21 14:12 jurgenvinju

maybe the rascal-core project should get it's own issues? or at least a label?

DavyLandman avatar Dec 16 '21 14:12 DavyLandman

there is the compiler and typechecker labels and also rascal-core is mentioned in the subject line

jurgenvinju avatar Dec 16 '21 14:12 jurgenvinju

yup, my bad, I read past that. but the typechecker we are also running on the rascal code, and I was just checking that gh actions run, so my wires got crossed.

DavyLandman avatar Dec 16 '21 14:12 DavyLandman

rascal-core is a temporary project for the sake of independent progress, which will be merged into the rascal project sometime in the future. But I'd rather keep the issues together; also given the experience that IDE users are not be able to guess from which of our projects which error message comes, and so they will end up here anyway.

jurgenvinju avatar Dec 16 '21 14:12 jurgenvinju

BTW we are catching up with months of progress in rascal-core, which is why we are now registering lots of new issues there.

jurgenvinju avatar Dec 16 '21 14:12 jurgenvinju

These observations are outdated and we have to reassess performance with the upcoming release. Closing this for now.

PaulKlint avatar Mar 13 '24 13:03 PaulKlint