rxjs性能数组vs流

时间:2016-04-01 09:47:45

标签: rxjs

我是rxjs世界的新手,并试图绕过它。我的理解是使用rxjs的原因之一是提高大型数据集的性能。

我试图测量你可以获得的正常数组高功能(map,reduce)的速度提升。

我在这里设置了这个例子https://jsbin.com/bagoli/edit?js,console

我们的想法是生成一个数组并将一些运算符应用于它,测量所花费的时间。

我不明白为什么流计算总是慢一些。我错过了什么吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您的calculateWithStreams函数是异步的,并且将与您的Array函数并行运行。因此让它变慢。如果你一次一个地运行它们,一旦你增加一点尺寸,时间基本相同。

与本机阵列相比,RxJS当然会有一些开销,但它通过延迟评估来弥补它。

还要考虑改进不仅仅是执行速度,还包括内存使用情况。 Array版本将始终创建一个新数组,并将占用更多内存。