Two excellent points. A quick look at the manpage will make obvious that we routinely use gcc, tcc, clang and icc as C compiler backends =)
Also, -O2 is used by default, try compiling with "+-O0", it's a bit faster.
For big projects, it would simply not be possible to use the combine driver all the time. In that case, simply use the options "-driver=sequence -noclean", which will only recompile changed files. We intend to fix the fragile base class problem soon enough, by dumping the class hierarchy in the rock_tmp/ directory
One last point: it's slow to compile because 8-9 classes are pulled in almost by default, some of which are big, like ArrayList. In the near future, we intend to compile the sdk to a dynamic library so that compiles will be much faster for everyone.
2 comments
[ 3.6 ms ] story [ 15.9 ms ] threadHave you ever considered TinyCC for backend instead of gcc? It's quite slow to compile. "Hello, World" takes 4+ seconds to compile.
Also, -O2 is used by default, try compiling with "+-O0", it's a bit faster.
For big projects, it would simply not be possible to use the combine driver all the time. In that case, simply use the options "-driver=sequence -noclean", which will only recompile changed files. We intend to fix the fragile base class problem soon enough, by dumping the class hierarchy in the rock_tmp/ directory
One last point: it's slow to compile because 8-9 classes are pulled in almost by default, some of which are big, like ArrayList. In the near future, we intend to compile the sdk to a dynamic library so that compiles will be much faster for everyone.