-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Regression: fix compilation performance on Windows #20193
Conversation
…tory calls Fixes scala#19924 backport to start-3.4.1
signed CLA |
We need a "platform linter". |
Co-authored-by: Nicolas Stucki <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing create()
and delete()
directories is dangerous - dotty.tools.io is a stable library that is being used in other projects, and those methods were implemented for PlainDirectory and PlainFile. With that said I looked through GitHub for all of the usages of those two, and they do not appear to be used anywhere (e.g. PlainDirectory is used in twirl and scalafix, but only to pass output directory to the compiler, PlainFile is only used in the compiler). With that in mind, and considering the performance benefit, I believe this should be merged
Nicolas is unavailable, however all of the problems raised during the review were resolved by the PR creator
Looks like in between the reviews I embarrassingly added a PlainFile.delete() method (which I of course forgot about), which of course I missed during my check right now, meaning we have a failing main. I will revert the revert after removing that delete method for the next release. Apologies for the inconvenience! |
is it possible to add this to 3.4.3 ? |
(I don't make these decisions myself but) that seems implausible, as 3.4.3 wasn't even a planned release, it's a special hotfix release for a particular problem affecting compatibility, as per https://contributors.scala-lang.org/t/3-4-3-release-thread/6718 for some time now project attention has been on the 3.3.x and 3.5.x, and forthcoming 3.6.x series also 3.5.0 is imminent, I hope you will be able to upgrade to it |
@SethTisue i don't think this ended up in 3.5.0 |
Caches isDirectory calls
Too many of them were added in 607e4d5 and this degraded compilation performance by up to 100% on Windows
Fixes #19924
backport to release-3.4.2