I swear i was going crazy, tried to bisect changes i made where some test wend from seconds to minutes of runtime.
After reversing changes, i noticed adding a single unused method `private void a() { }` suddenly made a specific test performance go down the drain. It goes from linear runtime to exponential runtime.
I cannot share the specific project, but the test contained a loop it ran over 24 times, each iteration adding data to a list, searching trough several thousands of records in other lists. It's a very involved test that was running 6,5 seconds before without RDI, and 35 seconds with RDI. But on my new branch with just a single empty function added to a code file not even hit by the slow test
To show some data how long the code runs in seconds with N iterations between no rdi, rdi on the new branch, and rdi on the old branch:
Code:
no rdi rdi old branch
4 3,309 8,936
5 3,38
6 3,378 16,756
9
10 4,022 41,165
14 4,228 82,46 16,07
18 5,467 timeout
22 5,759 timeout
24 6,417 timeout 34,914
Also, i'm unable to enable/disable RDI on a project level. I have to disable it for the entire solution, using <EnableRDI>False</EnableRDI> for just the test project yields no result. It would be even better if i could exclude the specific test from RDI.