comparison main.tex @ 3:e35e566b9983

*** empty log message ***
author kent
date Wed, 18 Jun 2008 12:55:12 +0900
parents b61e7bfa07c4
children
comparison
equal deleted inserted replaced
2:b61e7bfa07c4 3:e35e566b9983
743 \end{lstlisting} 743 \end{lstlisting}
744 これによって一気に3命令減った。ベンチマークは表\ref{tab:mc,gcc,compare}の3行目、``GCC (+omit)''である。 744 これによって一気に3命令減った。ベンチマークは表\ref{tab:mc,gcc,compare}の3行目、``GCC (+omit)''である。
745 しかし、(コードセグメントにもよるが)3/10命令減ったにもかかわらずMicro-Cとの速度差が 745 しかし、(コードセグメントにもよるが)3/10命令減ったにもかかわらずMicro-Cとの速度差が
746 ほとんど無い。 746 ほとんど無い。
747 747
748 リスト\ref{}をみるとMicro-Cでは引数の格納にレジスタ\%edi と 748 リスト\ref{code:bench_mc}をみるとMicro-Cでは引数の格納にレジスタ\%edi と
749 \%esi を用いる分、高速なコードを生成出来ていることが分かる。 749 \%esi を用いる分、高速なコードを生成出来ていることが分かる。
750 この違いが命令数の差を埋めている。 750 この違いが命令数の差を埋めている。
751 GCCでも引数をレジスタに詰めることができるfastcall属性がある。 751 GCCでも引数をレジスタに詰めることができるfastcall属性がある。
752 -fomit-frame-pointerに加えてfastcallを付加した結果をリスト\ref{code:bench_gcc_fast} 752 -fomit-frame-pointerに加えてfastcallを付加した結果をリスト\ref{code:bench_gcc_fast}
753 に示す。 753 に示す。