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
indicatif's defaults bottleneck the application on terminal output #363
Comments
Have you tried this with main? There's a bunch of performance improvements. |
(I do think it might make sense to default to a draw rate of, say, 100. Want to submit a PR?) |
I |
Very interesting, it seems that indicatif mostly removed whatever bottleneck drawing on the terminal had on master. I can still see a slight improvement with |
there's unresolved questions because "draw rate" currently takes precedence over "draw delta". With a default for "draw rate", draw delta... cannot be set anymore? Unsure. |
How about you make |
I've implemented a default draw rate in 9df7ab3. |
Thanks! Sorry, didn't get around to contributing this |
It's fine. My initial fix seems to have caused some regressions, so still investigating some follow up. |
default usage of indicatif currently has horrible performance when many items are processed in short time. there's issues like #170 which say this is due to global locks, but I found that even
set_draw_rate(1000)
can improve performance by an order of magnitude for certain applications.I propose that indicatif picks better defaults for draw rate even if it's still printing to the display every millisecond, because the current default experience is broken IMO. Even if it goes as far as enabling steady tick by default to compensate for potential side effects of draw rate, I think spawning an extra thread by default would still be a preferrable default behavior over bottlenecking the entire application on terminal output.
The text was updated successfully, but these errors were encountered: