我是rxjs世界的新手,并试图绕过它。我的理解是使用rxjs的原因之一是提高大型数据集的性能。
我试图测量你可以获得的正常数组高功能(map,reduce)的速度提升。
我在这里设置了这个例子https://jsbin.com/bagoli/edit?js,console
我们的想法是生成一个数组并将一些运算符应用于它,测量所花费的时间。
我不明白为什么流计算总是慢一些。我错过了什么吗?
感谢您的帮助。
答案 0 :(得分:1)
您的calculateWithStreams
函数是异步的,并且将与您的Array函数并行运行。因此让它变慢。如果你一次一个地运行它们,一旦你增加一点尺寸,时间基本相同。
与本机阵列相比,RxJS当然会有一些开销,但它通过延迟评估来弥补它。
还要考虑改进不仅仅是执行速度,还包括内存使用情况。 Array版本将始终创建一个新数组,并将占用更多内存。