Performance measurements

Tuesday, May 30, 2017

More work on performance measurement tools. Nothing ready to push yet, though.

Tracing

Started working on a tracing branch for Spice. The bulk of the work is in spice-common. It's basically a simplified re-implementation of the tracing system in Tao3D, that I'm trying to somehow connect to the existing glib-logging based stuff.

Rebuilding Tao3D

For some reason, the version of llvm-config in a fresh Fedora 25 VM is not the right one for Tao3D. I think that I had manually forced it, or only installed LLVM 3.5 before. Fixing it with:

alternatives --set llvm-config /usr/bin/llvm-config-64-3.5

This brings LLVM back to a more manageeable 3.52.

Rebuilding Tao3D reminded me of a few tricks that are necessary for this to work (but I'm getting better at it). Most notably, there is a problem with the default Qt install, which uses the -isystem option of GCC. This prevents #include <stdlib.h> from working in some cases.

Like on a previous occasion, the fix for me was to hand-edit /usr/lib64/qt5/mkspecs/common/gcc-base.conf.qt5-qtbase-cxxflag and /usr/lib64/qt5/mkspecs/common/gcc-base.conf to remove the reference to -isystem. It works for me, not sure it will work for anybody elseā€¦ And it's ugly! I need to find a better way.