小编tow*_*owi的帖子

R:使用class属性更慢地列出元素的赋值

我在S3和S4类的上下文中进行了一些分析,并观察了以下内容:

与相应普通列表上的相同操作相比,对S3对象元素的简单值赋值大约慢2-3倍.

从我的角度来看,S3类是一个带有附加属性的列表,元素只是一个数字.那么,哪些机制消耗额外的时间?

value <- 1 
obj_list <- list( a = 0 )
obj_s3 <- structure( obj_list, class = "myclass" )

system.time( 
  replicate( 100000, obj_list$a <- value)
) # ~180 ms

system.time( 
  replicate( 100000, obj_s3$a <- value)
) # ~420 ms
Run Code Online (Sandbox Code Playgroud)

oop performance r list

4
推荐指数
1
解决办法
69
查看次数

标签 统计

list ×1

oop ×1

performance ×1

r ×1