Re: xor cx, cx
In article news:3992755news.pl@rananim.ie.u-ryukyu.ac.jp
Shinji KONO wrote:
>> leap_asm 1.385
>> leap_asm2 1.286
>> leap_std 4.762
>> 四分の三は同じ処理なので、ほとんど差が出ませんね。(^^;
>
> いや、差がある方じゃないかな。
leap_std の事ですね。これは、ボケてました、m(__)m
- return( y % 4 == 0 && y % 100 != 0 || y % 400 == 0 );
+ return( y % 4 == 0 && (y % 100 != 0 || y % 400 == 0) );
ですね。
さらに、条件をアセンブラルーチンと合せるために、
return( y % 4 == 0 && ((unsigned short)y % 100 != 0
|| (unsigned short)y % 400 == 0) );
として、gcc version 3.4.4 [FreeBSD] 20050518 の -O2 オプションで再測定。
leap_asm 1.160
leap_asm2 1.039
leap_std 1.432
まだ、leap_asm と leap_std では、ニ割ほど遅くなってますね。
さすがに、-O2 でも 100で割った後で、400で割ってます。
--
山口@福岡 <hyama@mx7.tiki.ne.jp>
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735