update the progress bar only 20 times per second #1734
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I noticed that RStudio has a high CPU load while running
do
on data frames with many groups and short operations. I traced this to the fact that the progress bar is re-drawn for each tick, even if it hasn't changed since the last update.I therefore added a check for when the progress bar has been drawn the last time, and update only if this is more than 50 ms ago. A simple test revealed that this can save a lot of overhead without noticeable changes (first run: normal dplyr, second run: with
last_update
check):