Category: Programming
-
C++ Threads
I went to a talk by Hans Boehm about threads in C++. He was mostly discussing the plans for the future C++0x standard. He said it was important to get threads right, even though they are hard to use correctly, because they would most likely be the base for any other multi-processing paradigm. That seems…
-
Link Time Optimization
Various gcc developers are working on Link Time Optimization, also known as Whole Program Optimization. When using LTO, gcc will write the intermediate representation into the object file. At link time, gcc will read it in and use it to implement cross-module optimizations. The canonical optimization which requires LTO is inlining functions across object file…
-
GCC Plugins
There has been recent discussion on the gcc mailing list about plugins. There was a very interesting paper at the last gcc summit about a plugin architecture, with some interesting examples. I think plugins would be a useful addition to gcc. I think this mainly because many researchers and grad students want it. After many…
-
The GNU Configure and Build System
The GNU Configure and Build System consists of autoconf, automake, and libtool. I wrote an essay about them a long time ago. Slightly more recently I was a co-author of a book about them. David MacKenzie started writing autoconf way back in 1991. I was an early beta-tester and contributed some early features. autoconf generates…
-
Hyperthreaded Memory
One thing I didn’t really touch on in my earlier notes on multi-threaded programming is memory. As processors become increasing hyperthreaded and multicored, access to shared memory becomes the bottleneck. The obvious recourse of processor designers will be to break the sharing: each processor will have its own memory. We already see this in the…