继续这篇文章:NSMutableDictionary与NSMutableArray之间的性能差异>
我正在尝试运行一个小测试,以查看在读写操作方面,NSArray和NSDictionary及其可变版本之间的性能差距是否很大...
然而,我很难找到一个“平衡”的测试...因为字典有2个(或3个,取决于您如何看待它)对象需要循环才能获取所需的值(而不是键),而数组只有一个...
有什么建议吗?
--如果您想要更多细节: 我的意思更容易通过示例解释;
对于数组: (for NSString *str in array){使用字符串执行某些操作}
对于字典
(for NSString *str in [dictionary allValues]) { string }
或者
(for NSString *str in [dictionary allKeys]) { [dictionary valueForKey:key] }
或者
(for NSString *str in [dictionary allKeys]) { string }
甚至连这个
NSArray *valuesOrKeys = [dictionary allKeys/allValues];
(for NSString *str in valuesOrKeys) {string }
什么是对字典进行“公正”的测试?
--编辑(评论)
正如你们所指出的(并询问为什么我想要这样做),当使用词典时,它比数组更适合模型...
那么我提出这个问题的原因是,我正在构建的应用程序非常缓慢,因此我试图弄清楚是否使用不同的数据类型会改变任何东西,我正在考虑使用基本的 c 数组...在这一点上,我有选择权,因此能够更改内部工作方式以适应所需的任何类型...
enumerate...
调用了快速枚举(文档没有提到任何相关内容)?我会进行一些测试来支持您的数据,并更新我的答案。 - Itai Ferber