I am learning Cinder by modifying the BasicApp example, but find it took about 10 seconds for this minimum example. After doing some research into the cmake files, I found the bottleneck seemed to be the library linking part.
10 secs sounds quite a lot. Even on Xubuntu VM running on my MBP BasicApp takes less than that. What kind of system / hardware are you using?
There are a couple of things to try in case you haven’t yet. First would be to try clang++ as your compiler backend since it is faster than gcc. You can control this with the following cmake option -DCMAKE_CXX_COMPILER=clang++ Of course you will need to have clang installed for this to work.
Another option would be to try the Ninja backend. You can think Ninja as a faster replacement for the traditional Make. CMake can generate Ninja files for you. You will need to download Ninja, unzip it and move it under /usr/local/bin . Once you have done this you can build Cinder and samples by running cmake .. -G Ninja && ninja -j4 . This command asks CMake to generate the Ninja files and then it builds the project with ninja using 4 cores.
For the linking process specifically you could try out the goldlinker. I haven’t tried it in quite some time now but I remember it being quite faster than the default GNU linker but with some shortcomings at that point.
Thank you Petros, I will follow your advice and have a try. I am running it on a 2011 laptop, i7 2600, nvidia g550m, with ubuntu 1604. even my 2014 13’’ i5 ultrabook outperforms its cpu. But it has a dedicate gpu I can play with.