performance - 在dart中,创建一个Future,完成它并返回它的效率是否比立即创建Future的效率低?

标签 performance dart future

之间的性能区别是什么?

var completer = new Completer<String>();
var future    = completer.future;
completer.complete("value");
return future;

和:
var future = new Future<String>.immediate("value");
return future;

最佳答案

希望不久Future.immediate将在引擎盖下使用Completer使其异步,因此现在那里的任何性能差异都将消失。

即使在今天,任何这样的性能差异也应该非常小。 Completer和Future中的所有代码都是同步且较小的,因此开销包括完成器的分配和一些方法调用。那应该非常非常快。

结果:坚持使用Completer。

关于performance - 在dart中,创建一个Future,完成它并返回它的效率是否比立即创建Future的效率低?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13328353/

相关文章:

flutter - 当我有底部导航栏时无法使用 setState

android - 网络图像适合卡片而不会丢失卡片形状, GridView 在 flutter 中

stream - 从 Dart 中的流创建新流

java - Java 中是否有从 List<CompletionStage> 到 CompletionStage<List> 的转换器?

java - 当 Java 编译器在一行中看到许多字符串连接时会发生什么?

algorithm - 这是获得数字绝对值的最快方法

exit - 我怎样才能退出我的 Dart (vm) 程序?

asynchronous - 如何在 Rust 中竞赛 future 集合?

asp.net-mvc - 在 ASP.Net MVC 中,您如何创建将 javascript 和 css 放在它们应该去的地方的小部件?

sql - 如何加快 SQL 中的联合更新?我的声明似乎无限期地运行