Gautier RSS – C++17 Compiler

I noticed an update in Fedora today. An updated gcc compiler and associated build infrastructure. As a result, I decided to query the man page for gcc. I was looking at optimization flags when I noticed the C++17 option for the std parameter. I updated the build script for the rss program to apply optimization with O3. After testing that, I switched from C++14 to C++17 as the C++ standard used with the g++ compiler. The result was dramatic.

Of course the size of the program executable will shrink going from debug to full optimization in most cases. Using the C++14 std option, the executable size went from 1.2MB to 171KB with O3. With the switch to C++17, the size went down to 156KB. Impressive.

Even more impressive is the speed. I have not measured the speed and can only describe perceived response time. The command-line version of the rss program would take about a second or two to run to completion parsing 6 feeds. The C++17 standard option in gcc easily does the same task so fast it is perfectly instantaneous.

The performance improvement is even more noticeable with the interactive version of the rss program. Each button click, screen refresh is fast and less than half a second. Instantaneous even with file read, offline file parsing, and user interface composition. C++17 is definitely here and will decidedly make a huge difference in software programs built on C++ going forward.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.