-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Drop per-run infrastructure #6965
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
Conversation
The per-run infrastructure caused a 10-20% performance hit. We could go back to the old caching scheme but this is verbose and ugly. This commit drops the whole caching infra stricture instead. The downside is that we need a new compiler if any symbol cached by Definitions has been edited and should be reloaded.
Without re-binding in Definitions we cannot run a FromPickling test that overwrites the scala package object.
test performance please |
performance test scheduled: 1 job(s) in queue, 1 running. |
Performance test finished successfully: Visit http://dotty-bench.epfl.ch/6965/ to see the changes. Benchmarks is based on merging with master (52fe263) |
It might be possible to get the seqtype-cycle pickling test to pass by running it using |
OK, can you or Nicolas try that out? |
I had a quick look but it's likely that this would break in other ways, I would just drop the test since the way it works is a bit too fragile. |
In practice, when would we need a new compiler? |
It would be if we run with a resident compiler and edit a file touched by I believe |
No, it always creates a new compiler instance. |
Then it's just the IDE and that one handles the error already. I.e.
```
if (ctx.acceptStale(symd)) return
symd.currentSymbol.denot.orElse(symd).updateValidity()
```
in Denotations#bringForward. So, should we merge the PR?
…On Fri, Aug 2, 2019 at 4:57 PM Guillaume Martres ***@***.***> wrote:
I believe ~compile is not a true resident compiler, or is it? I mean, do
we keep the same instance of Compiler across several runs with ~compile?
No, it always creates a new compiler instance.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#6965>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAGCKVRAGWNBIRF4WK77ISDQCRDNJANCNFSM4IH2UWIA>
.
--
Prof. Martin Odersky
LAMP/IC, EPFL
|
The per-run infrastructure caused a 10-20% performance hit. We could go back to the old
caching scheme but this is verbose and ugly. This commit drops the whole caching infra
structure instead. The downside is that we need a new compiler if any symbol cached
by Definitions has been edited and should be reloaded.