Terminally slow performance on large files due to single threaded operation, UI updates
I tried to diff two large (4 MB) WCF generated proxy files. The merge tool got stuck at 12% CPU usage on my i7 machine for over 10 minutes, displaying no UI at all. Using Process Exploer, I found that only the program's main thread was busy. The thread's call stack revealed that all the time was spent inside PresentationFramework.dll. You can fix this by performing the diff on the background, eg. using TPL, and by updating the UI asynchronously,eg using asynchronous bindings or update the UI when all data changes are complete. You can also use Reactive extensions to throttle updates
No more new feedback about performance issues since several release ago, target achieved :)
-
Violeta commented
Hi Panagiotis,
We have been working on performance improvement.
For several releases, the application startup time has improved from 5000ms to 1400ms.
Also, the rendering performance in the external text based merge tool has improved,
I think the problem should be solved :)
Could you send me feedback of those files with the last published release??
Thanks!