0

パフォーマンスの違いは何ですか

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

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

?

4

2 に答える 2

3

うまくいけば、すぐFuture.immediateにコンプリータを内部で使用して非同期にするので、パフォーマンスの違いはなくなります。

ただし、今日でも、そのようなパフォーマンスの違いは非常に小さいはずです。Completer と Future のすべてのコードは同期的で小さいため、オーバーヘッドは Completer の割り当てといくつかのメソッド呼び出しで構成されます。それは非常に高速なはずです。

結論:コンプリータを使い続ける。

于 2012-11-12T22:34:33.430 に答える