JavaScript中数字63385有何特殊意义?数组与Set性能测试
我最近针对JavaScript里遍历大型Array和Set的性能做了一组基准测试,找到了一个很实用的性能临界点,分享给大家:
Array vs Set 遍历性能基准测试结论
当集合/数组长度 ≥ 63385时,Set的遍历性能明显优于Array;而当长度 ≤ 63384时,Array的表现反而更出色。
具体测试数据
长度≥63385(大数据集)
map#Array->big x 119 ops/sec ±1.62% (76 runs sampled) map#Set->big x 349 ops/sec ±4.11% (81 runs sampled)
能明显看到Set的每秒操作数是Array的近3倍,性能优势非常显著。
长度≤63384(中等数据集)
map#Array->medium x 2,407 ops/sec ±0.48% (94 runs sampled...)
(注:同量级Set的测试数据未完整给出,但从现有数据能看出,中小数据集下Array的操作数远高于大数据集场景,且表现优于同量级的Set)
这个临界点的结论可以帮我们在实际开发中根据数据规模选择更合适的数据结构:处理超大规模数据时优先用Set来提升遍历效率,中小数据集则用Array会更划算。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

