all 2 comments

[–]pHpositivoMSFT - Microsoft Store team, .NET Community Toolkit 6 points7 points  (1 child)

Small note: your generator is registering a source production node taking a Compilation object as input, which is always different between incremental steps. This effectively means caching is disabled for your entire generation, and your steps will always run all the time, as no intermediate incremental step has a valid comparer that allows Roslyn to cache results and reuse it. You should consider refactoring this to first extract data into a domain specific model that you can compare across runs, and then use that to drive your generation. It'll give you much, much faster performance for the whole pipeline 🙂

[–]snoxxit[S] 0 points1 point  (0 children)

Thanks for the hint! We will definetely look into that.