ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Asakusa Framework 0.10.0 @Spill

2017-12-13 00:00:00 | PG(分散処理)

Asakusa Framework Advent Calendar 2017の13日目です。

2017/11/29に出たAsakusaFW 0.10.0(→リリースノート)の機能を紹介していきたいと思います。
今回は@Spillアノテーションです。

@SpillアノテーションはAsakusaFW 0.9.1から使えるようになっていましたが、0.10.0で正式機能となりました。

CoGroup(やGroupSort)の入力データは(デフォルトでは)グループ毎に全データをインスタンス化するので、データ数が多いとOutOfMemoryErrorが発生することがあります。
この場合、@CoGroupアノテーションにInputBuffer.ESCAPEを指定すると、入力データが多い場合にファイルに退避するようになります。
ただ、入力ポートが複数ある場合、全ポートがその設定になってしまいます。
@Spillは入力ポート毎に付けるアノテーションなので、データ量が多いポートだけに指定することが出来るのです。