R中反序列化的首次成本较高

时间:2018-03-20 09:40:54

标签: r serialization deserialization

基本包中的反序列化在第一次完成时需要花费太多时间,之后它会快速运行。 例如。

>system.time(iris_model <- readRDS("./iris_model.rds"))
user  system elapsed 
3.145   0.102   3.417 
>system.time(iris_model <- readRDS("./sonar_model.rds"))
user  system elapsed 
0.029   0.003   0.032 

这里声纳模型的大小是虹膜模型的10倍,但读虹膜需要更多时间。

>library(redux)
>r<-redux::hiredis()
>system.time(a<-r$GET('iris'))
user  system elapsed 
0.000   0.001   0.002 
>for(i in 1:10) { print(system.time(unserialize(a))) } 
user  system elapsed 
2.157   0.087   2.244 
user  system elapsed 
0.001   0.000   0.001 
user  system elapsed 
0.002   0.000   0.001 
user  system elapsed 
0.001   0.000   0.002 
user  system elapsed 
0.002   0.000   0.002 
user  system elapsed 
0.001   0.000   0.001 
user  system elapsed 
0.001   0.000   0.001 
user  system elapsed 
0.001   0.000   0.001 
user  system elapsed 
0.002   0.000   0.001 
user  system elapsed 
0.001   0.000   0.001 

再次需要时间来反序列化&#34; a&#34;第一次然后很快。为什么第一次调用Unserialize函数(在新会话中)需要更多时间?如何减少这段时间?

0 个答案:

没有答案