我担心编写一个需要与D3 javascript库进行交互的Dart程序。大量数据需要从javascript访问,但我想将这些数据存储在Dart中,我的担忧是Dart和Javascript之间是否存在性能问题?
我的答案基于经验而不是事实知识。我同时使用Dart和D3(Dart作为结构化数据层,D3作为渲染层)。我创建了2-3个图表,每个图表大约有10,000个点,我从Dart中提供了这些点(通过js-interop编码为JSON字符串,因此DOM中大约有20,000-30,000个点)。然而,传递数据并不需要时间,它直接在范围内可用。至少我没有注意到传递数据和开始渲染图表之间有任何特定的延迟。我可能会重新测试一下,使用100万个点来确保。在如此巨大的数字上,浏览器本身是您主要关注的问题。希望来自Dart语言团队的某人能够提供一些见解。数据是否被克隆(这是我的猜测,因为它当然不与Dart中等效数据的状态绑定)?