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
290
UiPathにおける処理速度~どうすれば、より速く処理が行われるか~
20191023 【増席】RPA勉強&LT会!RPALT vol.14 with Knowledge Place
HANACCHI
October 23, 2019
Tweet
Share
More Decks by HANACCHI
See All by HANACCHI
ChatGPTにテストデータを作ってもらう
hanacchi
0
120
AI JIMYで数独
hanacchi
0
23
メール本文をどうやっつけるか
hanacchi
0
300
2024年のローコード界隈最新事情~業務担当者でもAI・生成AIを活用できる!~
hanacchi
0
400
AI JIMY - 登壇(インストール編)
hanacchi
0
470
AI JIMY - 登壇(設定編)
hanacchi
0
430
AI JIMY - 登壇(実行編)
hanacchi
0
410
パスワードを保存しますか?
hanacchi
0
430
テスト系アクティビティを使ってみる
hanacchi
0
570
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Facilitating Awesome Meetings
lara
54
6.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Balancing Empowerment & Direction
lara
1
380
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Designing for Performance
lara
609
69k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Statistics for Hackers
jakevdp
799
220k
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製品ベンダーも責任は とりません。