
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Optimizing fortify translation time
HI,
We bought a 64 logical core machine with 126GB memory and tried to translate a vcxproj with about 1000 files. It's a big project. Reading SCA optimization guide, it talks about using '-j' option (or com.fortify.sca.RmiWorkers property) to do parallel work but it seems this only affects scanning process (-scan option).
How do I improve translation phase as right now the memory consumption is just 8% and CPU is mere 2-3%?
I've used different values for com.fortify.sca.RmiWorkers, com.fortify.sca.RmiWorkerMaxHeap and -Xmx properties but cannot seem to improve performance.
The translate phase takes 3 hour and scan phase takes additional 3 hr. I don't use any custom rules and such. It's just plain out of box settings.
What would be the normal scan time for such project given our machine specification (128GB memory, 64 logical cores, SSD drives)
Thank,
-tekno

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi Tekno,
This is a limitation of the Microsoft toolchain. It compiles one file at a time and does not support parallel compilation within a single project. As a result, SCA can only translate one file at a time.
The MS tools do support parallel builds at the level of projects. E.g. Two non-dependent projects can build simultaneously by configuring MSBuild or devenv to execute a parallel build. See
https://msdn.microsoft.com/en-us/library/9h3z1a69(v=vs.90).aspx
for some more information about making this happen. This is not the same thing as parallel compilation, so the speedup may not be significant.
If using parallel builds, then the fortify-sca.properties key
com.fortify.sca.DaemonCompilers
needs to have com.fortify.sca.util.compilers.MicrosoftCompiler in the value list. It is included by default, so it would only be absent if the user has previously made a manual change to the properties.
The SCA command-line parameter –j and the property keys referencing RmiWorkers have no impact on the translation phase.
Thank you,
Mike

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Was Michael's answer correct? If so, please mark the answer as correct. Thanks!