我可以使用传递给Rust的JavaScript对象来实现需要垃圾收集的结构吗?

时间:2018-07-06 15:26:49

标签: javascript garbage-collection rust

在浏览器中使用Rust时,我可以获取JavaScript对象并在Rust中使用它们(例如,使用stdweb library中的js!宏)。

鉴于这些对象来自JavaScript,我可以在Rust中使用它们来实现受益于垃圾收集的结构(例如,实现图形)吗?

1 个答案:

答案 0 :(得分:2)

这取决于JS <> Wasm交互的成本以及您使用数据的方式。

要获得明确的答案,您必须尝试一种特定的算法并对其进行基准测试,但是总的来说,我并不认为它会带来好处。

对于Rust中的复杂对象图,您可以使用Rc<RefCell<…>>。它的开销相对较低,因此您需要一种非常友好的GC使用模式来克服它,尤其是考虑到JS对象的开销。