唐突ですが, 下記のコードを実行したとき速いのはどちらでしょう. また演算結果はどうなると予想されますか. double calcd(int n) { double ret = 0; for (int i = 1; i < n; i++) { ret += 1 / double(i); } return ret; } float calcf(int n) { float ret = 0; for (int i = 1; i < n; i++) { ret += 1 / float(i); } return ret; } int main() { printf("calcf=%.15f\n", calcf(100000000)); printf("calcd=%.15f\n", calcd(100000000)); } float型は遅い? いえ
float型浮動小数を4つ並列に演算する機構です. MMXや3D Now!の様にFPUレジスタを利用しているのではなく全く新規に作られたレジスタです. そのため, MMXや3D Now!と違ってFPUレジスタとの切替え[emms, femms]は不要ですが, 代わりにOSがSSEレジスタをサポートしている必要があります. 基本的に最下位データのみを操作する命令にはss, 4つの(パックされた)データを操作する命令にはpsがつきます. 大抵の命令はssよりはpsの方がレイテンシ, スループットともに1クロックずつ余計にかかります. 以下, 表の中の`F'はfloat型データ1つを表します. `a-bサイクル'はレイテンシa, スループットbを表します. xmm?と書くのは面倒なのでxm?と書きます. 4.1 読み込み / 書き込み
NHKクローズアップ現代より 最近深刻な物忘れの症状を訴えて病院を訪れる20代、30代の若者が増えている。 CTやMRIなどで調べても、これと言った異常は見つからない。交通事故やアルツハイマー などの病気の場合、脳細胞が傷ついたり死滅しているのだが、若年性健忘症の場合は 原因がよく分かっていない。 20代後半の大手電機メーカーに勤める男性は、ある日突然電車の降りる駅が分からなく なった。それ以来電車に乗るときは降りる駅や目的地をメモし、何度も見るようにしている。 「どうして思い出せないのか不思議で、同時にショックだった」と、彼は言う。 一流大学を卒業し一流証券会社に就職した30代前半の男性は、入社して5年たったころ パソコンを使っての単純な作業が覚えられなくなり、結局会社を辞めることになった。 このような状態では他の会社に勤めてもすぐ辞めざるを得ず、結局8回も会社を変わ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く