我在讀論文的時候,看到一篇文章對文件的位操作(按位異或)速度非常快,1GB的文件每個字節都按位異或只需要200毫秒左右,我用matlab試著按他論文裡描述的方法復現,需要幾萬秒。。他電腦的cpu是itel xeon e5620,我的是amd的phenom ii x4 810,語言的話他用的是c,調用了matlab的庫,我用的全部是matlab,這個差距是合理的嗎?
補充一下,我想擴大一下問題,c語言的位操作效率很高嗎?上面問題的按位異或我是直接用了matlab的bitxor,matlab其他的位操作我自己試著寫了一下,裡面包含了不少類型轉換,會花不少的時間吧,c其他的位操作也一樣快嗎。。。
這個差距很正常,如果批量運算,用matlab裡的向量而不是循環,循環效率低。或者用c語言寫擴展,