Home of: [工房 "藤車"] > [SourceForge.net における PageMixer]

Token の消費

本節では、 Token ごとに Consumer#consume メソッドを起動する理由について説明します。

クラス名

本ドキュメントでは、 クラスは全てクラス名のみで表記されています。 完全な名称は以下の通りです。

表記完全名
Consumer jp.ne.dti.lares.foozy.pagemixer.mixer.Consumer
Token jp.ne.dti.lares.foozy.pagemixer.Token

通常の設計

大量のデータを処理することがわかっている場合、 2者間でのデータの取り交わしは、 1つづつではなく一括して取り交わします。

例えば、 データを格納した配列やリストとして取り交わされ、 データごとにメソッドを起動するコストを低減します。

PageMixer における判断

Token ごとのメソッド起動と、 一括してのメソッド起動における性能を、 一度比較してみました。

少なくともその際には、 中間的な配列あるいはリストオブジェクトの生成コストが非常に高いらしく、 Token ごとの起動の方が一括しての起動よりも高速でした。 一般的に、オブジェクトの生成コストは非常に高いようです。

そのため、 Consumer#consume の起動は、 Token ごとに行われるように設計されています。