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
300
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
140
AI JIMYで数独
hanacchi
0
35
メール本文をどうやっつけるか
hanacchi
0
320
2024年のローコード界隈最新事情~業務担当者でもAI・生成AIを活用できる!~
hanacchi
0
420
AI JIMY - 登壇(インストール編)
hanacchi
0
490
AI JIMY - 登壇(設定編)
hanacchi
0
450
AI JIMY - 登壇(実行編)
hanacchi
0
430
パスワードを保存しますか?
hanacchi
0
440
テスト系アクティビティを使ってみる
hanacchi
0
610
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
A designer walks into a library…
pauljervisheath
209
24k
Why Our Code Smells
bkeepers
PRO
340
57k
Thoughts on Productivity
jonyablonski
70
4.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Agile that works and the tools we love
rasmusluckow
331
21k
The Cost Of JavaScript in 2023
addyosmani
55
9k
Making Projects Easy
brettharned
120
6.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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製品ベンダーも責任は とりません。