-
Notifications
You must be signed in to change notification settings - Fork 785
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
[WIP] Reuse typechecking results - stage 1 #17898
base: main
Are you sure you want to change the base?
Conversation
❗ Release notes required
Warning No PR link found in some release notes, please consider adding it.
|
tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/ReuseTypecheckingResultsBenchmarks.fs
Outdated
Show resolved
Hide resolved
@@ -1961,7 +1961,54 @@ let CheckMultipleInputsUsingGraphMode | |||
|
|||
partialResults, tcState) | |||
|
|||
let TryReuseTypecheckingResults (tcConfig: TcConfig) inputs = | |||
let tcDataFileName = FileSystem.GetFullPathShim "FSharpTypecheckingData" |
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.
This should probably come from msbuild, via the value of the flag, and should be set to an intermediate output
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.
Yeah, I need to resolve and set the proper location for the file here.
The name got inspiration for FSharpSignatureData
and FSharpOptimizationData
we already have, but it can be whatever.
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.
@vzarytovskii just so that I don't reinvent the wheel here - do you know if we already have a way to extract msbuild vars somewhere in the compiler?
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.
Okay so we discussed this with Kevin, outputDir
should be enough here.
@T-Gro PTAL, this is an early stage so I mostly just wanted to discuss the questions I raised in the comments, so that we go in the agreed direction. |
It seems like this is going to rely/build on top of
|
@edgarfgp so we'll need to discuss this - personally I'd like to turn graph-checking on. Now (like, before Xmas) is a rather good time - we can catch some bugs there before the next big release. It's somewhat scaring but, well, just this probably shouldn't be stopping us 👀 Graph-checking and reusing typechecking results can test each other and I'd say we should use this benefit here. I am not speaking for the whole team just yet - only sharing some thoughts. We will discuss and prioritize this. |
6df7695
to
be247f3
Compare
First part of the implementation of reusing typecheck results, as per the design doc.
This basically does 2 things:
--reusetypecheckingresults
, with all the hookingOpen questions: see my comments.