JavaScript:在JavaScript中使用await时性能非常差

时间:2018-03-17 18:40:24

标签: javascript asynchronous

我一直在努力解决我的一个lib的非常糟糕的性能,它大量使用async / await来处理混合类型的函数,我找不到解释。我能够将代码简化为一个非常简单的测试用例:

=ArrayFormula(UNIQUE(TRANSPOSE(SPLIT(CONCATENATE(Sheet1!A2:B&CHAR(9)),CHAR(9)))))

在实际案例中,我的lib不知道=index(Sheet1!D:D, iferror(match(A2, Sheet1!A:A, 0), match(A2, Sheet1!B:B, 0))) 是同步函数还是异步函数,所以它使用await来支持这两种情况。但与此相比,它使性能极其缓慢:

function a() {
    return 'a';
}

async function start() {
    await a();
}

start();

我创建了一个jsperf,似乎证实了我的印象:

https://jsperf.com/classic-function-call-vs-await/1

这是一个已知问题吗?我是否正确使用async / await?

0 个答案:

没有答案