Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Turbo Mode option run 10X faster (test b4 use, only works for some apps) [done] #297

Closed
kensoh opened this issue Aug 27, 2021 · 1 comment
Labels

Comments

@kensoh
Copy link
Member

kensoh commented Aug 27, 2021

Turbo Mode

Demo here. Added turbo_mode option to run 10X faster than normal human speed. See below for benchmark details.

r.init(turbo_mode = True)

This is added in v1.45, available with pip install rpa --upgrade

Downsides

Most websites and desktop apps are not designed for the super-human speed user. If your RPA runs at a speed beyond what those websites are designed and tested for, you are surely going to run into problems with some apps. Problems could be fields and data not filling up properly, not triggering expected validations, form submissions with missing data, account being blocked etc.

And the problems might happen randomly, including working on your PC but not working on another PC due to difference in CPU speed. Because of this, using turbo mode option is not recommended. You may save some cheap computer time, but if something is broken or does not work, you may end up spending expensive human time (your time) to troubleshoot or fix.

So, in general, it doesn't make sense to give up what is important (reliability and trusted to always work, cheap computer cost) for what is relatively less important (super-fast execution of automation, much faster than doing it manually).

Why add this

I can see why this is useful for some users for some specific scenarios. For eg, data collection from apps, data entry in web applications that can handle super-human speed reliably, as part of a chatbot doing backend RPA for user, fast and rapid prototyping, and perhaps taking part in RPA competitions etc. Thoroughly test for your use case before using!

Although the downsides are huge, as TagUI and its various flavours like RPA for Python becomes more mature, it make sense to support a broader range of use cases instead of rejecting them as edge cases. With diversity, the ecosystem can flourish.

The additional cost of computation of this implementation for RPA for Python is 4ms. On a 6 year-old low-end Mac laptop, this is the additional overhead needed during initialisation to set up TagUI process to be turbo mode or not turbo mode. This is a relatively small cost 0.1%, if you estimate an RPA workflow taking 4 seconds. In practice, most workflows should take longer and this small cost of adding < 0.1% more to the execution time is humanly insignificant.

@kensoh kensoh added the feature label Aug 27, 2021
@kensoh kensoh changed the title Turbo Mode option to run 10X faster (pls test b4 using, works for some apps) - to explore Aug 27, 2021
@kensoh kensoh changed the title Turbo Mode option to run 10X faster (test b4 using, works for some apps only) - to explore Aug 27, 2021
@kensoh
Copy link
Member Author

kensoh commented Aug 27, 2021

Estimated improvements in speed should be more than 10X. The changes specifically -

  • reduce intentional communication delays to Chrome from 100ms to 10ms (ie 20ms round-trip)
  • reduce delays to visual and desktop automation from 500ms to 50ms (ie 100ms round-trip)
  • instantly 'paste' into webpages the whole string instead of character by character
  • instantly move the mouse cursor for visual automation instead of 1s to move

14X faster using RPA Challenge example as benchmark - to fill up 70 fields from Excel data

Normal Mode using r.init() (turbo_mode is False by default)

normal

Turbo Mode using r.init(turbo_mode = True)

turbo

@kensoh kensoh changed the title Turbo Mode option to run 10X faster (test b4 use, works for some apps only) - to explore Aug 27, 2021
@kensoh kensoh changed the title Turbo Mode option to run 10X faster (test b4 use, works for some apps only) [done] Aug 27, 2021
@kensoh kensoh changed the title Turbo Mode option run 10X faster (test b4 use, works for some apps only!) [done] Aug 28, 2021
@kensoh kensoh closed this as completed Jan 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 participant