小结(4)
上节讨论了数据量n<1000时名个函数用时规律,本节讨论1000<n<100000的情形。画图方法如上节。
与上一节的图相比,明显变换就是处理每个数据所需的时间减少很多。ddply已减少到5微秒以内。反而str_replace的速度在Month, season和all中差异比较大。
接下来我们研究0~5微秒内的函数
从上图可以看出,随着数据量的增大,只有 join函数用时比较稳定,在all,month和season这三组差别不大,其它函数或多或少都有差异。另外,除了which,for_if,ddply函数等还出现了拐点。这就说明,这些出现拐点的函数处理数据效率最高的临界点在100000以内。
接下来我们研究0~1微秒内的函数
从上图可以看出,只有join函数还在持续递减。也就是说,当数据量为100000时,处理每个数据所需时间大约在0.125微秒以内。which函数尽管较join函数稳定性较弱,不过总体效率还是不错的。
总的来说,join<which<[for_if_else,for_if,for_switch]<[ddply,str_replace]
下一节我们看看join函数的极限在什么地方!
(未完!待续……)