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
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UiPathにおける処理速度~どうすれば、より速く処理が行われるか~
20191023 【増席】RPA勉強&LT会!RPALT vol.14 with Knowledge Place
HANACCHI
October 23, 2019
More Decks by HANACCHI
See All by HANACCHI
単体試験の生産性向上と私
hanacchi
0
130
PowerAutomatefordesktopでの開発シーンで
hanacchi
0
24
ChatGPTにテストデータを作ってもらう
hanacchi
0
200
AI JIMYで数独
hanacchi
0
63
メール本文をどうやっつけるか
hanacchi
0
370
2024年のローコード界隈最新事情~業務担当者でもAI・生成AIを活用できる!~
hanacchi
0
460
AI JIMY - 登壇(インストール編)
hanacchi
0
550
AI JIMY - 登壇(設定編)
hanacchi
0
510
AI JIMY - 登壇(実行編)
hanacchi
0
470
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
860
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Odyssey Design
rkendrick25
PRO
2
760
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
200
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Designing for Performance
lara
611
70k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
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製品ベンダーも責任は とりません。