Hi, With the new implementation of domain inlining in place (which handles any parameterized domain), I have moved to the next stage of my pursuit of abstraction penalty reduction.
I have noticed that some folks will avoid using domains other than Union, Record, List or Vector instantiations as domain representation (in assignment to Rep.) The primary reason, I understand it, is to avoid the inefficiency associated with SPADCALL when the computation is trivial, and those domains are systematically inlined. Well, the new implementation of domain inlining is, in most cases, at least as efficient as the old implementation that handled only List and Vector (and in a way that was questionable.) However, what about Rep? Well, now we inline Rep too at optimization level 3. The reason we do not have it enabled at lower optimization level is that domain inlining kind of violates separate compilation -- if you modify and recompile the domain that was inlined, then you should recompile all its users. Since the system library is not modified once it is built, we compile all the standard algebras at optimization level 3. Please, test and report any issue to me. -- Gaby ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel