How does the generated C code (and therefore the final executable) compare to the same program written directly in C ? I mean, in term of space and time efficiency ?
Depends on what you takes into account.
If one uses object oriented features (which is the point of using Moka), there is an important space overhead, maybe 1000 bytes (the more classes used, the more big it is). However, this overhead is similar to the overhead obtained when trying to do object oriented programming in C using abstract data types.
The instructions (method calls, if, for, etc.), once translated, are not really different than hand coded C - the speed is then very similar to C. Even when objects are used, there is very little overhead when invoking a method (only a pointer dereferenciation).
You can compile some examples and open the resulting TIGCC project to have a better idea.