@amcasey有一些关于通过使我们的读/写调用异步来加快IO时间的想法。这个问题跟踪了这个想法,并且应该是记录调查结果的地方。相关的问题:#1857 , #16607 , #29100
byqmnocz1#
我花了大约一周的时间,但还没有完成异步变化的层叠,所以我没有可验证的性能数据。然而,@weswigham 和 @ahejlsberg 建议,创建一个非常简单的返回承诺函数的开销是不合理的高。我认为我们将在这个主题上打个桩,并寻找其他加快I/O的方法。
pgccezyw2#
级联 async : 不好。 async 被限制在一个顶级 await : 好。使用 Promise.all 和 await 同时拉取许多异步读取:非常好。v8 team 在异步函数上执行过一次优化( and then reverted it? )-但它们的比较“基准”是原始承诺。在常见使用模式下, async / await 应该能够实现接近正常调用性能(没有异步操作 -> 没有分配完整的承诺 -> 立即返回执行),但还没有人投资于这一点。:(或者我的简短测试被 this v8 perf bug 污染了。不能确定。
async
await
Promise.all
fnx2tebb3#
对于构建模式,我相信我们可以实现文件写入并仅将其级联回 Backbone.js 。文件读取更紧密地集成在一起,我们需要更加明确地说明何时实际发生懒惰读取(即在读取之前进行异步,在读取之后进行同步)。我们几乎肯定需要放弃一些懒惰性才能实现这一点,很难说我们是否会占上风。
axzmvihb4#
我正在处理这个问题,但不要期待在3.8版本中修复它——更新里程碑以反映这一点。
4条答案
按热度按时间byqmnocz1#
我花了大约一周的时间,但还没有完成异步变化的层叠,所以我没有可验证的性能数据。然而,@weswigham 和 @ahejlsberg 建议,创建一个非常简单的返回承诺函数的开销是不合理的高。我认为我们将在这个主题上打个桩,并寻找其他加快I/O的方法。
pgccezyw2#
级联
async
: 不好。async
被限制在一个顶级await
: 好。使用Promise.all
和await
同时拉取许多异步读取:非常好。v8 team 在异步函数上执行过一次优化( and then reverted it? )-但它们的比较“基准”是原始承诺。在常见使用模式下,
async
/await
应该能够实现接近正常调用性能(没有异步操作 -> 没有分配完整的承诺 -> 立即返回执行),但还没有人投资于这一点。:(或者我的简短测试被 this v8 perf bug 污染了。不能确定。
fnx2tebb3#
对于构建模式,我相信我们可以实现文件写入并仅将其级联回 Backbone.js 。文件读取更紧密地集成在一起,我们需要更加明确地说明何时实际发生懒惰读取(即在读取之前进行异步,在读取之后进行同步)。我们几乎肯定需要放弃一些懒惰性才能实现这一点,很难说我们是否会占上风。
axzmvihb4#
我正在处理这个问题,但不要期待在3.8版本中修复它——更新里程碑以反映这一点。