UiPathの「ワークフローファイルを呼び出し」アクティビティでxamlファイル呼び出しを繰り返すともの凄い時間がかかる
繰り返し処理中に「ワークフローファイルを呼び出し」アクティビティでxamlファイルを呼び出すことって沢山ありますよね。
今回、この呼び出しにはすごい時間がかかることが判明し記事にしました。(UiPath 2021.10.7)
インタプリタで実行しているだろうから、多少は時間かかるのかなと想像しましたが、、、かかり過ぎです。
2つの繰り返し処理と実行時間
1.「ワークフローファイルを呼び出し」アクティビティを使用しない繰り返し処理
2.「ワークフローファイルを呼び出し」アクティビティを使用する繰り返し処理
3.「ワークフローファイルを呼び出し」アクティビティで呼び出すxamlファイル
※実行時間にかなりの差があることが分かると思います。
実行時間の改善
「ワークフローファイルを呼び出し」アクティビティで、xamlファイルを呼び出す回数を減らす工夫が必要かなと思いました。
例えば、引数で品番を定義したxamlファイルがあったとします。
xamlファイルでは、引数の品番に入力された社外品番を社内品番に変換し呼び出し元に返します。
一般的なプログラムではよくある実装だと思いますが、UiPathではxamlファイルの引数に配列やリストなどを定義し、呼び出されるxamlファイル側でまとめて処理するほうが良さそうです。
【今回のコメント】
・ 当初は「VBAを呼び出し」アクティビティを使用し、既存のマクロファイルで品番を一括変換するメソッドを呼び出していました。それを、繰り返し処理中に(1件だけ)品番を変換するxamlファイルを呼び出す実装に変更した際、「前のほうが早かったじゃん」ということに気づき調査してみました。
・ 実行時間削減の参考になれば幸いです。