Displaying a progress bar results in slower completion time

I write a lot of internal scripts that automate tasks for a team. In order to prevent them from wondering if the script has "halted", I display a simple progress bar for the long running tasks. I do this because I can measure the amount completed as I know the amount requiring completion prior to running. To save on the number of operations being done, I only update the progress bar every n seconds or when the task is launched/completed.

What I have found is that there is a tradeoff between:

  • user experience (knowing the task is running)
  • completion time of the overall script

By adding in steps to produce a progress bar and keep them aware, a task can take 2x as long.

In general, is this an expected tradeoff (perhaps not in other languages, but in Python)?