当前位置 : 主页 > 手机开发 > ios >

ios – 性能 – NSValue与容器对象中的结构

来源:互联网 收集:自由互联 发布时间:2021-06-11
在我需要在NSDictionary中保存所有数据成员的情况下,将结构(自定义类型,甚至是标量,即CGPoint)放在我自己的包装器(而不是NSValue)中更有意义,因此我可以避免编码的开销/每次我获得或设置
在我需要在NSDictionary中保存所有数据成员的情况下,将结构(自定义类型,甚至是标量,即CGPoint)放在我自己的包装器(而不是NSValue)中更有意义,因此我可以避免编码的开销/每次我获得或设置会员时解码它?

对于大型结构(16个浮标),IMO的节省是显着的.但即使使用CGPoint,我也会节省4个字节的复制时间和编码/解码时间.

为什么不根据具体情况进行衡量呢?这是找到它的唯一真正可靠的方法.

如果两个选项都不够,你可以通过相应地设置value callbacks或者使用C std :: map / std :: tr1 :: unordered_map进行旋转来查看带有指向普通结构的指针的CFDictionary(如果你不介意在C中混合)那是).

网友评论