下應該找到整數1
的第一個實例的位置:爲什麼R匹配函數很慢?
array <- rep(1,10000000)
system.time(match(1,array))
這將返回
user system elapsed
0.720 1.243 1.964
如果我運行使用尺寸100
的數組我得到這個相同的任務:
user system elapsed
0 0 0
因爲所有它應該做的就是查看數組中的第一個值並返回一個匹配,所花費的時間應該是查找和比較的時間,而不管數組的大小。如果我用低級語言編寫它,則無論數組大小如何,它都將花費少量時鐘週期(微秒或更少?)的次序。爲什麼R需要一秒鐘?它似乎在遍歷整個數組...
有沒有一種方法讓它一旦找到匹配就中止,而不是繼續不必要地迭代?
這個問題可能值得一讀:[更有效的策略,其中或匹配](http://stackoverflow.com/questions/16213029/more-efficient-strategy-for-which-or-match/16224331) – thelatemail