It's a very busy time. I've passed (with the best grade) my final exam in Norwegian, and since then I'm busy with coding my PhD project. Have been busy with installing Solaris on some machines and bringing it into usable state (by installing many small but important packages), upgrading the compilers to latest versions, learning the dbx debugger, fighting with compiler bugs and discovering subtle but important restrictions of lock-free data structures.

Writing code also involves learning much about the C++ boost libraries and discovering some important weaknesses of C++ (this time: operators new and delete are class members which is very inconvenient if you want to impose external allocator onto existing classes). But I was also impressed how good the Sun's C++ compiler is when it comes to aggressive optimizations and heavy inlining of C++ code; this is very important with heavy template metaprogramming.

Each of these topics is interesting enough to deserve its own post, so expect more posts in the upcoming days.


Anonymous said...

Are you comparing Sun's C++ to g++ or are you impressed in general? Recently I reviewed a smart pointer implementation and was pleasantly surprised with the optimizations that g++ performed. It could be that, since the advent of STL (and, to some extent, boost), the state of the art of C++ optimization has greatly improved.

zvrba said...

I'm just impressed in general; I didn't even compare it yet to g++. Actually, I have bad experience with compiling GCC/GDB on Solaris. Version 4.1 wouldn't compile (some configure f*up), version 4.2 compiles, but gdb has problems debugging 64-bit applications (crashes although it has been compiled with 64-bit support).

I've come to like the Sun's toolset and dbx, despite some of the compiler's bugs, much more than gcc.