-
-
Notifications
You must be signed in to change notification settings - Fork 297
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
Profile TW performance with large task DBs #3618
Comments
I think in order to have it somehow comparable we should use here the existing I am planning to take a look into this, however I will probably not have time before end of September :/ |
Okay, I just noticed that one "counter" or timer was lost due to the transition to the TDB2 backend. More specifically, the timer which tracked how long it takes to load some task set into Taskwarrior. The counter was in Line 419 of TDB2.cpp. Context::getContext ().time_load_us += timer.total_us (); This explains why the reporting of the performance always states |
That flame graph seems to have multiple commands in it -- is it a concatenation from multiple runs? It's a little difficult to interpret the graphic, since things are cut off. Is there a way to share the source file from which that was drawn? #3635 should restore the |
...Probably running a profiler is the action item from this issue...
Originally posted by @djmitche in #3329 (comment)
I think this would be best done from Taskwarrior, treating the Rust code as a "black box". It would be great to learn which calls into Rust are taking the longest -- and what non-Rust things are taking a long time, too. I can think of a few possibilities we might learn, but the truth is probably something different:
task list
#3418)TDB2::pending_tasks
)std::string
and Rust'sString
are not compatible)I don't know much about profiling in C++, but perhaps you, dear reader, do?
The text was updated successfully, but these errors were encountered: