将2D点表示为数组

时间:2014-09-23 20:15:33

标签: javascript performance

  1. 在Javascript中,我可以将2D点(1,2)表示为对象{x:1, y:2}或as 数组[1,2]。在性能方面,最后一个明显更好吗?
  2. 如果在我的程序的某个时刻,我决定将某个属性添加到某个点v(例如v.next = u)并将v表示为数组,那么我是否会将该 [*] 性能提升?
  3. [*] 假设1的答案是

1 个答案:

答案 0 :(得分:0)

根据我自己的建议(上面的评论),谷歌搜索'数组对象点网站:jsperf.com'导致http://jsperf.com/point-array-vs-point-object/2,这表明,至少在今天的Chrome和Node.js(V8)中,对象可能是更好的选择。

但是如果我想把踏板放在金属上并且主要使用点阵列,我还会将强制所有args的代码标记为整数(x=x|0)并使用一维数组,手动执行x / y的地址运算,并为其编写ES6迭代器。如果仔细完成,这可以避免为大多数点创建对象,即使在操作它们时也是如此。