Q26:サブルーチンとファンクションの選択肢がありますが、どちらのほうが処理が軽いでしょうか?
Q26-1:
コンポーネントのパフォーマンスについて、質問させてください。
MZでは一連の処理をまとめる場合、サブルーチンとファンクションの選択肢がありますが、どちらのほうが処理が軽いでしょうか?ファンクションの方が引数や戻り値が使えるため、何かと便利なのですが、その分処理が重くなるのでは?と心配しております。
A26-1:
例えば<引数0>の[ファンクション]コンポーネントと[サブルーチン]コンポーネントとでは、処理の速度に関しては違いはございません。
むしろ[ファンクション]を使用しないことで処理が冗長になることの方が処理速度には影響は大きいかと存じます。
[サブルーチン]は「メソッド:call(PFEvent)]でイベントを渡すことができ、処理を纏めつつイベント番号で管理、イベント内包データの利用などできるという特性がありますが、その他[ファンクション]で処理を纏める方が良い箇所は[ファンクション]をお使いになることをお勧めいたします。
なお、コンポーネントのオブジェクトとしての大きさは、現在のところ、全ての発生イベントを選べるようにしてあるという理由で[サブルーチン]の方が大きくなっています。