無作為研究所atoi()関数の高速化エラー処理がないとかイロイロ嫌われているatoi()関数ではありますが、いまだによく使います。呼び出し回数が多いこともあり、昔から高速化を行っていました。最近のCPUでは、何千万回とかやらないと差がわかりにくくなっていますが、少しでも高速なことは良いことです。プログラムテスト仕様atoi()関数に限らず、高速チューンを施す場合、まずテスト用のプログラムを作成します。今回作ったのは、windows用で、以下のようなモノです。0;}check_speedという関数に、時間計測したい関数のポインタを渡して、これを10回呼び出し、平均値を計測しています。計測対称は、atoi_00_loopと、atoi_01_loopという2つの関数で、それぞれ100万回、atoi関数と、atoi互換自作関数を呼び出します。atoi_01_loop関数内で呼び出されるatoi_01というのが、今回の研究対象である、atoiと互換性があって、速度をチューニングした関数です。206.122%上のプログラムをコンパイルして実行した結果がこちらです。数回実行してみると、数mSは動作時間がバラつきますが、概ね200%程度の高速化を達成しているようです。/Ox(最大)で行っています。プログラムソースとEXEをここに置きました。高速atoi関数はobjのみ収録しておきましたので、どなたか、これより高速なヤツを作ってみてください。Memですんで、環境によって、結果が違うなどの情報も頂けるとありがたいです。ソースださなくっても、atoi1.obj解析したら、すぐに手口わかるなあ、こりゃ。4G)で試してもらったらこうなったらしいです。みんないいマシン使っているんですね。4G[3G認識])で試してもらったらこうなったらしいです。これまた、不思議な結果だなあ。MUSAKUI-LABO。