小結(jié)(4)
上節(jié)討論了數(shù)據(jù)量n<1000時(shí)名個(gè)函數(shù)用時(shí)規(guī)律不脯,本節(jié)討論1000<n<100000的情形府怯。畫圖方法如上節(jié)。
與上一節(jié)的圖相比防楷,明顯變換就是處理每個(gè)數(shù)據(jù)所需的時(shí)間減少很多牺丙。ddply已減少到5微秒以內(nèi)。反而str_replace的速度在Month, season和all中差異比較大复局。
接下來我們研究0~5微秒內(nèi)的函數(shù)
從上圖可以看出冲簿,隨著數(shù)據(jù)量的增大,只有 join函數(shù)用時(shí)比較穩(wěn)定亿昏,在all峦剔,month和season這三組差別不大,其它函數(shù)或多或少都有差異角钩。另外吝沫,除了which,for_if递礼,ddply函數(shù)等還出現(xiàn)了拐點(diǎn)惨险。這就說明,這些出現(xiàn)拐點(diǎn)的函數(shù)處理數(shù)據(jù)效率最高的臨界點(diǎn)在100000以內(nèi)宰衙。
接下來我們研究0~1微秒內(nèi)的函數(shù)
從上圖可以看出,只有join函數(shù)還在持續(xù)遞減睹欲。也就是說供炼,當(dāng)數(shù)據(jù)量為100000時(shí),處理每個(gè)數(shù)據(jù)所需時(shí)間大約在0.125微秒以內(nèi)窘疮。which函數(shù)盡管較join函數(shù)穩(wěn)定性較弱袋哼,不過總體效率還是不錯(cuò)的。
總的來說闸衫,join<which<[for_if_else,for_if,for_switch]<[ddply,str_replace]
下一節(jié)我們看看join函數(shù)的極限在什么地方涛贯!
(未完!待續(xù)……)