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
24
メール本文をどうやっつけるか
hanacchi
0
300
2024年のローコード界隈最新事情~業務担当者でもAI・生成AIを活用できる!~
hanacchi
0
410
AI JIMY - 登壇(インストール編)
hanacchi
0
470
AI JIMY - 登壇(設定編)
hanacchi
0
430
AI JIMY - 登壇(実行編)
hanacchi
0
410
パスワードを保存しますか?
hanacchi
0
430
テスト系アクティビティを使ってみる
hanacchi
0
580
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Designing for Performance
lara
610
69k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Side Projects
sachag
455
42k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
6
300
Building Adaptive Systems
keathley
43
2.7k
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製品ベンダーも責任は とりません。