Hi Alexei, Alexei Sheplyakov wrote:
\begin{quote} CLN is speed efficient:
* The kernel of CLN has been written in assembly language for some CPUs (`i386', `m68k', `sparc', `mips', `arm'). \end{quote}
I can't say anything about m68k, arm, and mips, but on x86 GCC generated code runs a bit faster. I checked this for -march={pentium[34], nocona,athlon,athlon-mp,k8}. Hence I propose to drop x86 asm, or at least to make -DNO_ASM the default.
Making -DNO_ASM th default would kill a) the loop assembler code in cl_asm_i386_.cc and b) the low-level arithmetic inline assembler code in cl_low.h. I haven't run any benchmark but I would guess that a) is the reason for your performance finding on that selection of modern x86-compatible CPUs while b) is still giving a boost. BTW: Have you turned off GMP support? I'm asking because a) hardly plays a role when configured --with-gmp but b) still does. (And almost everybody does use GMP, I guess.) Cheers -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>