推 softwind:memcpy 因為可以把效能責任推給compiler廠商! 02/19 00:07
→ softwind:just for fun, OK 可以使用 for loop 02/19 00:08
→ softwind:為了more fun 那就 練習使用 stream/string movement 02/19 00:09
→ softwind:stream/string move, X86/ARM都不一樣 可以玩玩 ^^ 02/19 00:10
→ stupid0319:用rep movsd 02/19 00:26
→ linkone:st大說的是組語嗎 要怎麼在c++裡使用呢? 02/19 00:28
→ stupid0319:mov edi,B ; mov esi,A ; mov ecx,200000 ; rep movsd 02/19 00:29
→ stupid0319:for loop就算了........ 02/19 00:33
→ WPC001:memcpy/ CopyMemory的底層應該就是直接被翻成rep movsd 02/19 01:14
推 Ebergies:雖然沒有測但老實說我認為 for loop 也會被翻成最有效率 02/19 01:27
推 purpose:SSE: www.csie.ntu.edu.tw/~r89004/hive/sse/page_4.html 02/19 01:40
→ ykjiang:以 Keil C51 來說, for loop 會比較有效率 02/19 01:48
→ ykjiang:memcpy 敗在它是通用的,實在是非戰之罪 :p 02/19 01:49
→ ykjiang:如果效率對你真那麼重要,應該花些時間都測試一下 02/19 01:50
推 wowtiger:rep movsd 會比 mov eax, [esi] mov [edi], ecx 慢喔 02/19 22:47
→ wowtiger:打錯了 是 mov [edi], eax 02/19 22:48
→ wowtiger:原因是 rep movsd 是屬於 legacy 用法 沒被硬體最佳化過 02/19 22:49