我一直在使用像Int32Array这样的JavaScript typed array。我想要用JavaScript实现一个循环队列,并且不想在性能上妥协。
问题在于,队列项是JavaScript对象类型,所以我不能将它们保存在简单的Array
对象中。因此,我需要一个Typed Array,可以非常适合处理JS Object
类型的对象。
谢谢。
更新: 从评论中看来,人们并不清楚具有Typed Array的性能优势,所以我创建了这个js Perf测试,以使其更加明显。
我一直在使用像Int32Array这样的JavaScript typed array。我想要用JavaScript实现一个循环队列,并且不想在性能上妥协。
问题在于,队列项是JavaScript对象类型,所以我不能将它们保存在简单的Array
对象中。因此,我需要一个Typed Array,可以非常适合处理JS Object
类型的对象。
谢谢。
更新: 从评论中看来,人们并不清楚具有Typed Array的性能优势,所以我创建了这个js Perf测试,以使其更加明显。
Typed arrays用于高效地存储原始值。它们不是通过神奇的机制来提高性能的。它之所以快,是因为它知道存储值的类型和长度。在JavaScript中,“Object”是基本“类型”。这类似于go语言中的interface{}。你对“object”了解得不多,无法有效地存储它。因此,按照定义,对象的typed array不存在。
Array
在 JavaScript 中是一个对象。 - Jeff Noelnew Array(window,document,String);
运行得很好 - 你为什么认为对象不能放在数组中 - 这是关于特定实现的吗? - MDEV