javascript 中对象键的大小
size of object keys in javascript
我有一个关于 javascript 的简单问题。
javascript 对象中键的大小是否重要(就性能而言)?
这里有 2 个例子:
一个。快捷键
var obj = {};
obj['a'] = { x : 1, y : 0 };
obj['b'] = { x : 1, y : 0 };
obj['c'] = { x : 1, y : 0 };
b。长键
var obj = {};
obj['this_is_a_long_key'] = { x : 1, y : 0 };
obj['this_is_a_longer_key'] = { x : 1, y : 0 };
obj['this_is_the_longest_key'] = { x : 1, y : 0 };
因此,如果我经常 searching/editing 这些对象的属性(可能很多),那么键的大小是否与 searching/editing 等操作的性能有任何关系?
谢谢
大键不是 免费的,因为最终运行时在查找属性时必须执行散列和比较操作。但是,除非您有大量的长密钥,否则可能不值得担心。
现代 JavaScript 环境通常已经过优化,可以让您专注于按照自己喜欢的方式编写代码,因此(正如 Joe Armstrong 关于 Erlang 的名言)您的代码尽可能漂亮。专注于算法效率,如果您真的遇到性能障碍,请担心这样的细节。
我有一个关于 javascript 的简单问题。
javascript 对象中键的大小是否重要(就性能而言)?
这里有 2 个例子:
一个。快捷键
var obj = {};
obj['a'] = { x : 1, y : 0 };
obj['b'] = { x : 1, y : 0 };
obj['c'] = { x : 1, y : 0 };
b。长键
var obj = {};
obj['this_is_a_long_key'] = { x : 1, y : 0 };
obj['this_is_a_longer_key'] = { x : 1, y : 0 };
obj['this_is_the_longest_key'] = { x : 1, y : 0 };
因此,如果我经常 searching/editing 这些对象的属性(可能很多),那么键的大小是否与 searching/editing 等操作的性能有任何关系?
谢谢
大键不是 免费的,因为最终运行时在查找属性时必须执行散列和比较操作。但是,除非您有大量的长密钥,否则可能不值得担心。
现代 JavaScript 环境通常已经过优化,可以让您专注于按照自己喜欢的方式编写代码,因此(正如 Joe Armstrong 关于 Erlang 的名言)您的代码尽可能漂亮。专注于算法效率,如果您真的遇到性能障碍,请担心这样的细节。