Robot is running slow

Hi,

My workflow is based on excel automation, web automation is not involved and the time difference for the first run and the 3rd or 4th run is so much.i.e if it takes one hour to run the for the first time and it is taking 3-4 hours for the 3rd run, and the input data is same.what could be the reason for so much time difference?. I can not share the input files as those are confidential.

Thanks

Hi @vinitha,
I’m not sure about this. From what I know excel documents are consuming a lot of memory when are processed in the background. Please check how much memory, cpu etc. excel is taking when process is running 1st and how much when 3rd or 4th run.

1 Like

Hi @Pablito

Thanks for the response, i will check that

2 Likes

I am using the worksheet (non-Excel) version than takes up 30k, and it runs slow on both my computers - one an Alienware development computer! It has to run overnight to process about 1000 rows! I could use help with this one!

1 Like

I would rather say that it depends of what kind of operations are you performing on those rows and if you are using DataTable or other variable type to work with it.

1 Like

@kevinakohls,

I am super interested in this problem (Execution performance of data processing tasks with UiPath Robots). I have a robot that converted Pdf’s → Excel, then extracted and formatted information from Excel Workbooks, and was shocked at the amount of time it took to process the data.

My Invoice Pdf’s files had tables with 6 or so rows of invoice headers, and between 1 and 20 rows of Invoice Line items. The widest the spreadsheets got was 10 columns (PDf → Excel added blank columns. I twas only 5 columns with data). My process took ~30 seconds per Excel File. I expected 1 second to read the file, 0.01 seconds to process the data table, and 1 second to write the results.

I have a dozen theories about the root causes, but have not dug into the details to prove / disprove any of them.

Can I ask a bunch of questions to help understand how you have structured the solution?

Q1: How wide is the spreadsheet?

It is 1,000 rows, but is it 5 columns, or 100 columns, or 1,000 columns?

Q2: How much complex processing do you do per row?

Is this executing per row 10 activities, 100 activities, 1000 activities?

Q3: Do you have other workflows that do the processing, and you invoke from inside the loop over the rows?

i.e. Do you use the invoke workflow activity inside your loop?

Q4: Have you done any instrumentation of your code to examine the performance issue?

Q5: Any chance you can share your Robot code and a sample slow spreadsheet?

I have already written one detailed blog posting about Cloud Orchestrator REST API Authentication, and I am thinking my second in-depth post will be about Robot Performance, so I intend to dig into this issue pretty deeply over the next 2 weeks.

– Michael.

1 Like

@kevinakohls

I finally got a chance to dig into the performance issue.

In my application I was using a read range activity on a spreadsheet with 28 rows and 10 columns. It took 105 seconds to read the range!

I discovered that the read range activity, when “Preserve Format” is set to true CRAWLS. It does a cell by cell extract and conversion. I suspect it even has to figure out a data type for the column after it has all the cells in memory (A1 could be a number, A2 a string, and A3 a date… can not know what data type to make column A till you have all the cells)

When I removed the preserve format, it took 0.087 seconds to execute the read range.

Reading a 1,000 row spreadsheet with Preserve Format turned on could easily take overnight.

2 Likes

@mjdeale,
Good finding! I will mark up as solution so more users with similar issue could see this :slight_smile:

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.