Replies: 1 comment
-
|
We're not investing in mpc any more. Can you try the source generator in the latest prerelease on nuget.org, as documented in our README file *in the |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
There are 2 ways of using
mpc -iFor instance
mpc -I ../../Assembly-CSharp.csproj -o MessagePackGenerated.csvs
mpc -i ../../ -o MessagePackGenerated.cs -o MessagePackGenerated.csMy team members for the most part have had better luck, but we have inconsistent results with compile times, or whether the commands work at all.
For me, I noticed that the method that targets a director (not a csproj) finishes in about 15s, with a full build. Very reasonable.
The method that targets the .csproj, I have typically cancelled after leaving it running for hours, it spins up a lot of threads, and eats at least 40gb of memory.
This is because the codepath that uses PseudoCompilation.CreateFromDirectoryAsync is quite fast, whereas OpenMSBuildProjectAsync is problematic for me.
I've been debugging mpc and turned logs on etc.
var project = await workspace.OpenProjectAsync(projectPath, logger, null, cancellationToken);This line is where I get to, and inside it, it seems like every so often (with logging turned on) I'll get a new log line like this
It makes a ton of these directories, each of these lines can take seconds to minutes to appear.
Normally, I'd just use the directory version, and move on with my life, but it turns out we have other assemblies that are pulled in if I take that codepath.
I'm struggling to understand why this is worse on my machine, whether it's a M3 Mac issue, a dotnet 8 issue, a newer roselyn, etc. I'm going to keep digging into this but I'd love any sort of insight.
Beta Was this translation helpful? Give feedback.
All reactions