Power Automate Desktop 速度検証 ~フロー監視は早いか~

Power Automate Desktop 速度検証 フロー監視イメージ

 Power Automate Desktop でフローを起動する際、監視/通知の設定をデフォルトでは「 Windowsの通知 」で起動することになりますが、動作が安定しない状況では「 フロー監視ウィンドウ 」で起動するケースもありますよね。「 フロー監視ウィンドウ 」で起動していると、少し遅いかも?と感じることはありませんか。

 そこで、 Power Automate Desktop で「 Windowsの通知 」で起動した場合はどの程度時間がかかるのか、「 フロー監視ウィンドウ 」ではどうなのか、を簡単に速度検証してみたので紹介します。

速度検証の前提条件

 Power Automate Desktop を動作させたパソコンは、Windows 10 Pro の Intel(R) Core(TM) i7-8550U CPU です。また、仕事用アカウントを利用したため Power Automate Desktop のフロー情報はOneDriveではなく、Microsoft Dataverseからの読み出しになります。 Power Automate Desktop 動作中は極力、他のアプリケーションを動作させないようにしましたが、 Power Automate Desktop のみが集中して動ける状況を徹底して用意はしておりません。

 本記事を読んでいただいている方が、本記事と同じ速度検証をした場合に、同一の結果が出るものでもなく、また同一の結果を保証するものではない点はご注意くださいね。

Power Automate Desktop フロー監視速度検証概要

 速度検証においては、複雑な要素を排除して、単純なフローの比較を行います。用意したのは次の4つのフローです。

①Main処理のみ1000回動作
②サブフローを1000回呼び出し
③Main処理のみ10000回動作
④サブフローを10000回呼び出し

 それぞれの処理は単純化して、「変数に100を設定」、「サブフロー呼び出し」のみで処理を構成し、あとはひたすらそれを、「 Windowsの通知 」と「 フロー監視ウィンドウ 」で1,000回あるいは10,000回起動しているだけです。

処理概要実施した処理
①Main処理のみ1000回動作{変数に100を設定}(1000回)
②サブフローを1000回呼び出し{サブフロー呼び出し:変数に100を設定}(1000回)
③Main処理のみ10000回動作{変数に100を設定}(10000回)
④②サブフローを10000回呼び出し{サブフロー呼び出し:変数に100を設定}(10000回)

 なお、「 Windowsの通知 」と「 フロー監視ウィンドウ 」はPower Automate Desktopの設定で切り替えることができます。

 「 Windowsの通知 」の場合は、Power Automate Desktopの開始時と正常終了時(異常終了時)に通知を受けることで処理状況を知ることができます。「 フロー監視ウィンドウ 」の場合は、Power Automate Desktopのフロー動作状況を逐一確認することができますので、どのあたりの処理が行われているかをおおよそリアルタイムに把握することができます。

 測定する処理のイメージとしては次のようになります。

①Main処理のみ1000回動作

Main処理内で変数に100を1000回設定するように構成しました。

②サブフローを1000回呼び出し

「サブフローを1000回呼び出し」となるように構成しました。

③Main処理のみ10000回動作

Main処理内で変数に100を10000回設定するように構成しました。

④サブフローを10000回呼び出し

「サブフローを10000回呼び出し」となるように構成しました。

 以上の4パターンについて、コンソール画面で「 Windowsの通知 」で5回、「 フロー監視ウィンドウ 」で5回ずつ実行して、処理時間を計測しました。

①Main処理のみ1000回動作した場合の検証結果

Windowsの通知1秒1秒1秒1秒1秒
フロー監視ウィンドウ
(括弧内は準備時間)
3秒(1秒)3秒(1秒)3秒(1秒)3秒(1秒)3秒(1秒)

 Main処理のみ1000回動作した場合、「Windowsの通知」では1秒で、「フロー監視ウィンドウ」では準備時間1秒を加えて3秒でした。当然ながら「Windowsの通知」の方が早いですね。

 今回の検証をなぜ、1000回から記載したかというと、5回測定して安定して1秒経過したのが、1000回だったためです。100回、200回、300回・・・と100回ずつ増やしたいったところ、700回時に1秒を超えるケースが出てきて、1000回時に5回とも1秒以上になったため、1000回を測定の基準にしました。よって1秒と示しているのは、1秒以上2秒未満が正しい表現にもなります。また、「Windowsの通知」と「フロー監視ウィンドウ」でそれぞれの時間測定を観察すると分かるのですが、「Windowsの通知」では準備時間がカウントされておらず、「フロー監視ウィンドウ」では準備時間もカウントされています。以上をふまえると、「Windowsの通知」は実行時間で1秒以上2秒未満、「フロー監視ウィンドウ」は準備時間で1秒以上2秒未満、実行時間で2秒以上3秒未満とおおよそ言えるため、フロー監視は意外と時間がかかっていないと、ここからは推測できます。

②サブフローを1000回呼び出した場合の検証結果

Windowsの通知1秒1秒1秒1秒1秒
フロー監視ウィンドウ4秒(1秒)4秒(1秒)4秒(1秒)4秒(1秒)4秒(1秒)

 サブフローを1000回呼び出した場合、「Windowsの通知」では1秒で、「フロー監視ウィンドウ」では準備時間1秒を加えて4秒でした。当然ながら「Windowsの通知」の方が早いですね。また、Main処理のみ1000回と比較してみると、「Windowsの通知」で同じ1秒のため、もう少し数を増やしての考察をしてみます。

③Main処理のみ10000回動作した場合の検証結果

Windowsの通知7秒7秒7秒7秒7秒
フロー監視ウィンドウ12秒(5秒)12秒(5秒)12秒(5秒)12秒(5秒)12秒(5秒)

 Main処理のみ10000回動作した場合、「Windowsの通知」では7秒で、「フロー監視ウィンドウ」では準備時間5秒を加えて12秒でした。当然ながら「Windowsの通知」の方が早いですが、実行時間では、同じ7秒(「フロー監視ウィンドウ」の場合は12秒-5秒=7秒)になります。「①Main処理のみ1000回動作」の結果と本測定結果より、フロー監視は実は影響がないくらいに早く、遅く感じていたのは単に準備時間がかかっていたから?とも言えます。しかし結論を出すのは少し早いですね。サブフローを10000回呼び出した場合を確認してみます。

④サブフローを10000回呼び出した場合の検証結果

Windowsの通知14秒14秒14秒14秒14秒
フロー監視ウィンドウ23秒(6秒)21秒(5秒)21秒(5秒)21秒(5秒)21秒(5秒)

 サブフローを10000回呼び出した場合、「Windowsの通知」では14秒で、「フロー監視ウィンドウ」では準備時間5秒を加えて約21秒でした。

 当然ながら「Windowsの通知」の方が早いですが、実行時間では、「Windowsの通知」が14秒と、「フロー監視ウィンドウ」が16秒になりました。あまり差はありませんが、2秒の差がきちんとついた点が特徴的で、フロー監視に2秒かかっていると考えることもできます。

Power Automate Desktop フロー監視速度検証結論

 「 フロー監視ウィンドウ 」で起動していると、少し遅いかに関しては、準備時間を加えると少し遅く感じるものの、極端には遅くないと言えます。動作が安定しない状況では「 フロー監視ウィンドウ 」で起動して、進行状況やエラー状況をしっかり確認してみるのが良いのではないでしょうか。

※なお、本検証は「Mainのみ処理」と「サブフロー呼び出し」の各処理回数を相対評価した考察となり、Microsoft社からの Power Automate Desktop に関する情報をふまえた利用方法の推奨情報を案内するものではありません。Power Automate Desktop をご利用する場合は、実際の利用状況や業務に応じた処理時間確認が必要である点は、ご注意よろしくお願いいたします。