Enhancing Performance of Legacy Software

When you port pure C code to a C++ compiler, you may discover slight performance degradation. This is not a fault in the programming language or the compiler, but a matter of compiler tuning. All you have to do to gain the same (or better) performance as you would get from a C compiler, is switch off the compiler’s RTTI and exception handling support. Why is this? In order to support RTTI and/or exception handling, a C++ compiler synthesizes additional “scaffolding” code in the original source file, which increases the executable size a bit, and imposes slight runtime overhead. When pure C is used, this additional code is unnecessary. Please note, however, that you should not attempt to apply this tweak with C++ code or C code that uses any C++ constructs like operator new and virtual functions.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: