0
float res[size], a[size], b[size]
//Several initialization is done
for(int i=0; i<size; i++) res[i] = a[i]*b[i];
我想知道如何測量浮動操作的次數。如何測量做了多少浮動操作?
機器: 型號名稱:Intel(R)核心(TM)2四CPU @ 2.93GH
編譯器: 'gcc版本4.6.1(Ubuntu的/ Linaro的4.6.1-9ubuntu3)'
架構:x86_64。
人們說sse選項會自gcc 4以後自動啓用。雖然有些評論說sse不支持乘法和除法。
我沒有意識到是否啓用了sse,如果我只是編寫上面的代碼。任何人都可以告訴我如何計算浮動操作的次數?
更重要的是,如果浮點數取代double,該怎麼辦?
我不知道方程是:
對於float:2.93 * 4 雙:2.93 * 2
其實,我發現有在x86_64的8個新的寄存器。這會導致8次浮動操作和4次雙重操作嗎?
'的GCC -S',讀取組件的輸出。 – nneonneo