Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UiPathにおける処理速度~どうすれば、より速く処理が行われるか~
Search
HANACCHI
October 23, 2019
0
330
UiPathにおける処理速度~どうすれば、より速く処理が行われるか~
20191023 【増席】RPA勉強&LT会!RPALT vol.14 with Knowledge Place
HANACCHI
October 23, 2019
Tweet
Share
More Decks by HANACCHI
See All by HANACCHI
PowerAutomatefordesktopでの開発シーンで
hanacchi
0
15
ChatGPTにテストデータを作ってもらう
hanacchi
0
170
AI JIMYで数独
hanacchi
0
48
メール本文をどうやっつけるか
hanacchi
0
340
2024年のローコード界隈最新事情~業務担当者でもAI・生成AIを活用できる!~
hanacchi
0
440
AI JIMY - 登壇(インストール編)
hanacchi
0
520
AI JIMY - 登壇(設定編)
hanacchi
0
480
AI JIMY - 登壇(実行編)
hanacchi
0
450
パスワードを保存しますか?
hanacchi
0
470
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Done Done
chrislema
186
16k
How to Ace a Technical Interview
jacobian
281
24k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
410
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
What does AI have to do with Human Rights?
axbom
PRO
1
2k
WCS-LA-2024
lcolladotor
0
490
Evolving SEO for Evolving Search Engines
ryanjones
0
170
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
230
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
320
Transcript
UiPathにおける処理速度 ~どうすれば、 より速く処理が行われるか~ Presented By
[email protected]
自己紹介 • 小﨑 肇(こざき はじめ⇒[ハナ]肇⇒はなっち!) • 58歳 あと3週間で59歳。もうすぐ… • 東京都豊島区⇒神奈川県川崎市中原区
• 趣味 自転車だったけど、最近はINGRESS • 職歴 かなり前に今の会社に入社。 COBOL⇒JAVA⇒EXCEL-VBA EXCEL-VBAでは、JP1-REPORTERとか、 SAGENT-REPORTERとか… UiPath歴は、18ヶ月… Presented By
[email protected]
自己紹介 • 小﨑 肇(こざき はじめ⇒[ハナ]肇⇒はなっち!) • 58歳 あと3週間で59歳。もうすぐ… • 東京都豊島区⇒神奈川県川崎市中原区
• 趣味 自転車だったけど、最近はINGRESS • 職歴 かなり前に今の会社に入社。 COBOL⇒JAVA⇒EXCEL-VBA EXCEL-VBAでは、JP1-REPORTERとか、 SAGENT-REPORTERとか… UiPath歴は、18ヶ月… Presented By
[email protected]
例えば、乱数値を求める業務要件仕様があったとする https://www.sejuku.net/blog/67600 Int((最大値 - 最小値 + 1) * Rnd +
最小値) 略
「代入」アクティビティで簡単に実装できる!しかも汎用的に利用の可能性大! ★Int関数の戻り値はSingle型なので、 わざわざCInt関数にてInteger型にしている Int((最大値 - 最小値 + 1) * Rnd
+ 最小値)
乱数ロジックの展開方法 1. 代入アィティビティの 左辺、右辺の内容を、 FAQページなどに載せる ⇒利用者は、そのサイトからコピペする 2. その機能を持つ.xamlファイルを配付する ⇒利用者は、.xamlファイルをプロジェクト内にコピペする 3.
共通関数化(ライブラリ機能)し、OC経由で配付する ⇒利用者は、「プロジェクトを管理」からインストールする ⇒他の機能も盛り込める 最小値~最大値までの範囲での乱数の求め方 代入アクティビティを使用する 【変数】 最小値(Int32) 最大値(Int32) 乱数(Int32) 【設定内容】 左辺:乱数 右辺:CINT(Int((最大値 - 最小値 +1) * Rnd + 最小値))
実装例(乱数範囲: 1~5) Int((最大値 - 最小値 + 1) * Rnd +
最小値)
実装例(乱数範囲:0~4) 最小値に0を設定して、INVOKE 「0から最大値」は、最大値だけを指定する機能とし、 内部で、最大値と、最小値に0を設定し、XAMLファ イルをINVOKEする Int((最大値 + 1) * Rnd)
処理速度の計測方法 1. 最小値(=1,0)、最大値(=5,4)を設定する。 2. 各計算方法について、1000回のLOOPの 処理前後の時刻差を計測する。 ⇒Now.ToString(“HH:mm:ss.ffff”) 3. 1.~2.に関して、3セット実施し、平均を求める ⇒これはLogからEXCELで集計
String.Concat(Enumerable.Repeat("*",1000))
処理速度の計測結果 String.Concat(Enumerable.Repeat("*",1000)) 平均時間 回数 計算方法 1 2 3 平均秒 計算値
0.0100 0.0100 0.0150 0.0117 INVOKE 4.5251 4.5151 4.4351 4.4918 LIBRARY 0.0150 0.0100 0.0200 0.0150 1. 最小値(=1,0)、最大値(=5,4)を設定する。 2. 各計算方法について、1000回のLOOPの 処理前後の時刻差を計測する。 ⇒Now.ToString(“HH:mm:ss.ffff”) 3. 1.~2.に関して、3セット実施し、平均を求める ⇒これはLogからEXCELで集計
結論 1. Invoke WorkFlow Fileアクティビティは、Invokeされる度にファイルをLoadし、 使い終わったらDisposeしている? ⇒数回程度なら処理時間は気にならないだろうが、 結構使用すると、それなりの処理時間は覚悟する。 2. Library機能で作った.nupkgだと、
UiPath社アクティビティと同格な位置づけとなる(?) ⇒堅牢なロジックが必要、あるいは割り切って異常終了させる。 平均時間 回数 計算方法 1 2 3 平均秒 計算値 0.0100 0.0100 0.0150 0.0117 INVOKE 4.5251 4.5151 4.4351 4.4918 LIBRARY 0.0150 0.0100 0.0200 0.0150
注意 • この結論は、あくまでも、はなっち!個人が計測結果から導き出したもので す。効果がでなくても、責任を負いかねます。またRPA製品ベンダーも責任は とりません。