GCC

Upcoming GCC 4.5 Features

GCC 4.5.0 has frozen and the release has made it to the front page. This is significant to me for 2 main reasons.

  1. Faster Template Compiles
  2. A major side project of mine, ChaiScript suffers from extremely long compile times. Part of the reason is because of 1000's of templates being instantiated for even the simplest project.

Optimizing Massively Multithreaded C++ Applications - Don't Forget the Obvious

Let's not overcomplicate things here. If you have 160 threads all trying to run concurrently, even if they are doing little to no work, they are all still doing some work. There's no reason to make the threads work harder than they need to.

GCC 4.4.0 Released

GCC 4.4.0 was released on April 21st. Notable changes include fascinating new optimizations for loops. Particularly, they include the ability for the compiler to automatically rewrite loops to take into account memory layout of the system. I recall distinctly in my Intro to Data Structures CS class the teacher using the example of a two dimensional loop which iterated the "wrong way" (causing many disparate memory look ups and cache-misses) as a classic performance killer.

Getting the List of Default #define's From GCC

Most of the postings I make to this website are for my own personal reference. They are things that I want to make sure I don't forget, or at least have easy access to. Today is no exception. For some reason, I can never remember the following command and have to track it down every time I'm interested.

echo "" | cpp -dD

This prints out all of the #define's that GCC is providing for you. In some ways it's a fascinating little look inside the compiler.

On mingw-gcc 3.4.5 you get the following:

Syndicate content