I've ported the code to the best of my knowledge.
Some notes:
I removed the PowerShell script to download dotnet/fsharp as it no longer worked for me once I moved to the Components project.
As a replacement to test real projects locally, I cooked up a script that reads the fsc arguments from a binary log file. (scrape.fsx). This works out quite nicely, you create a binlog, and extract the args.txt. See CompilationFromCmdlineArgsTests and TypedTreeGraphTests. As we don't know how the F# team will want to tackle this, I believe this is ok-ish for now. The PowerShell script was better in that aspect that it took a fixed commit into account, but again it will be fine for now.
I removed both the Diamond (test project) and ParallelTypeCheckingTests.
Moved the production code to src/Compiler/Driver/GraphChecking and updated ParseAndCheckInputs.fs accordingly.
The tests are now in tests/FSharp.Compiler.ComponentTests/TypeChecks/Graph.
Please skim through this, approve or let me know what needs improving.
Once this is merged we could submit a draft PR and let the folks in the #compiler-performance know.
Siema Janusz!
I've ported the code to the best of my knowledge. Some notes:
dotnet/fsharp
as it no longer worked for me once I moved to the Components project.fsc
arguments from a binary log file. (scrape.fsx
). This works out quite nicely, you create a binlog, and extract theargs.txt
. SeeCompilationFromCmdlineArgsTests
andTypedTreeGraphTests
. As we don't know how the F# team will want to tackle this, I believe this is ok-ish for now. The PowerShell script was better in that aspect that it took a fixed commit into account, but again it will be fine for now.Diamond
(test project) andParallelTypeCheckingTests
.src/Compiler/Driver/GraphChecking
and updatedParseAndCheckInputs.fs
accordingly.tests/FSharp.Compiler.ComponentTests/TypeChecks/Graph
.Please skim through this, approve or let me know what needs improving. Once this is merged we could submit a draft PR and let the folks in the
#compiler-performance
know.Cześć,
Florian