在RxJS中使用管道操作符ponyfill而不是.pipe是否会造成性能损失

在RxJS中使用管道操作符ponyfill而不是.pipe是否会造成性能损失,rxjs,Rxjs,我使用管道操作符ponyfill,它只是一个实用函数applyPipe,这样applyPipe(x,a,b)就相当于b(a(x))或x |>a |>b(在本例中有两个函数,但实际上它可以是任意数量的函数)。在fp ts中,此函数称为pipe 在我的例子中,函数实现为 export const applyppe=( 来源:, 项目 ) => { 用于(项目施工){ 震源=el(震源); } 返回源; }; (您也可以使用.reduce)实现它) 此函数可用于组合可观察运算符,因此applype(

我使用管道操作符ponyfill,它只是一个实用函数
applyPipe
,这样
applyPipe(x,a,b)
就相当于
b(a(x))
x |>a |>b
(在本例中有两个函数,但实际上它可以是任意数量的函数)。在
fp ts
中,此函数称为
pipe

在我的例子中,函数实现为

export const applyppe=(
来源:,
项目
) => {
用于(项目施工){
震源=el(震源);
}
返回源;
};
(您也可以使用
.reduce
)实现它)


此函数可用于组合可观察运算符,因此
applype(计时器(500)、delay(500))
相当于
timer(500).pipe(delay(500))
。问题是,使用这样的函数来代替
.pipe
方法是否会导致性能下降?

理论上,我认为这样做不会导致重大问题或性能下降(除了使用函数并复制可观察/对象引用以在函数中处理它而添加额外步骤之外)。您只需复制可观察的参考(而不是可观察的排放),因此出于性能原因,它不应该是一个大问题。 此外,ponyfill/Polyfill通常预期在性能方面等于或最差于实际实现。请记住,扩展操作符将仅复制对象的属性(而不是任何嵌套属性)

我想在ponyfill函数中留下一些注释,以便其他使用代码库的开发人员更容易理解