So, I've got a moderately to significantly complicated WPF application that I've got a requirement to obfuscate the output assemblies via Dotfuscator (pro edition - the one the client has a license for).
Three issues:
OutOfMemoryException
approximately 85% of the timeThe first problem I've been able to mitigate by running via the command line as opposed to the GUI (it doesn't crash, at least), and the third wouldn't be that big of an issue if I could quickly iterate over combinations of options instead of maybe getting 5 attempts per working day.
It's really the total time that's killing me; anyone aware of any "quick-fix" ideas to dramatically improve the time taken for obfuscation? Is it possible some goofy thing I've done is causing some sort of "Vapor-lock" during the process, increasing the processing time? Do I need to press the client to use a different obfuscator?
Some details:
Any thoughts and/or SWAGs would be most appreciated.
You need more memory most likely. Dotfuscator isn't exactly lightweight in memory when running through large projects. I'd recommend 2 gigs as a minimum for most projects, and 4 gigs preferable. Also, it might run faster under 64-bit, due to the extra virtual memory space. Also, you might want to ensure that you're losing the latest version of Dotfuscator, since there have been some performance improvements between releases in the past
Excludes usually won't speed up Dotfuscator significantly unless you're excluding whole assemblies.