基本包中的反序列化在第一次完成时需要花费太多时间,之后它会快速运行。 例如。
>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函数(在新会话中)需要更多时间?如何减少这段时间?