Home
Reply
Contributor
Posts: 22
0

Performance


From your documentation:
"The portion of your application that links against ACIS/InterOp must be built with the compilation flag /EHa."

 

The problem is that /EHa effectively disables many compiler optimizations. It can have a very negative effect on performance.

 

I made some tests running a few of our own algorithms both inside and outside the portion that links to ACIS, and sometimes runs up to 650 percent faster with optimizations enabled!

 

With Visual Studio 2015 Update 3, Microsoft released an even more improved optimizer:
https://blogs.msdn.microsoft.com/vcblog/2016/05/04/new-code-optimizer/

 

From Microsoft's documentation (https://msdn.microsoft.com/en-us/library/1deeycx5.aspx)
"We strongly recommend that you use ISO-standard C++ exception handling (/EHs or /EHsc)"

 

It's frustrating that you ignore standards again and again! If you build the ACIS modeler without /EHa, then both your customers' products and your own product will immediately take advantage of optimizations, resulting in better performance.

 

I've already asked Spatial support if you please can provide libraries built with /EHsc as well, but no answer for over a month...