我想在C++代碼中添加512位(big int),轉換成visual studio中的masm內聯彙編程序。 進是在鏈路below.I所示的C++很重要也需要代表C++到MASM內聯彙編在Visual Studio簡化這個masm使其更快?
我試圖做到這一點在MASM,但它是緩慢的花mearly 700毫秒我masm代碼
C++ code Here。 C++注意到300毫秒此外
MASM代碼
_asm {
mov edx, summand
mov eax, [edx]
mov ebx, this
add eax, [ebx]
mov [ebx], eax
mov ecx, 4
mov eax, [edx + ecx]
adc eax, [ebx + ecx]
mov [ebx + ecx], eax
mov ecx, 8
mov eax, [edx + ecx]
adc eax, [ebx + ecx]
mov [ebx + ecx], eax
mov ecx, 12
mov eax, [edx + ecx]
adc eax, [ebx + ecx]
mov [ebx + ecx], eax
}
看起來你的C++編譯器在編寫代碼方面比你更好。這是可以預料的。現代編譯器進行英雄式的優化。你爲什麼期望能夠做得更好?你的編譯器發出了什麼代碼?它有什麼不同?你在你的時間有多自信? –
C++代碼顯示在鏈接中..需要做的操作是100%肯定的每一個添加,無論是由C++或asm – user2226676
C++代碼不執行。編譯器生成執行的代碼。那生成的代碼是什麼樣的?你過得怎麼樣?所以這裏有很多關於SO的基準問題都是由於有缺陷的時機。 –