MAP | PageMixer ドキュメント > 設計ノート > Token の消費 |
本節では、
Token ごとに
Consumer#consume
メソッドを起動する理由について説明します。
本ドキュメントでは、 クラスは全てクラス名のみで表記されています。 完全な名称は以下の通りです。
表記 | 完全名 |
---|---|
Consumer | jp.ne.dti.lares.foozy.pagemixer.mixer.Consumer |
Token | jp.ne.dti.lares.foozy.pagemixer.Token |
大量のデータを処理することがわかっている場合、 2者間でのデータの取り交わしは、 1つづつではなく一括して取り交わします。
例えば、 データを格納した配列やリストとして取り交わされ、 データごとにメソッドを起動するコストを低減します。
Token
ごとのメソッド起動と、
一括してのメソッド起動における性能を、
一度比較してみました。
少なくともその際には、
中間的な配列あるいはリストオブジェクトの生成コストが非常に高いらしく、
Token
ごとの起動の方が一括しての起動よりも高速でした。
一般的に、オブジェクトの生成コストは非常に高いようです。
そのため、
Consumer#consume
の起動は、
Token
ごとに行われるように設計されています。
MAP | PageMixer ドキュメント > 設計ノート > Token の消費 |