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

Remove internal Profiler in favour of Tracy #2266

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

thorstenhater
Copy link
Contributor

I decided to remove the internal profiler since it had some hard to fix flaws:

  • It require conditional compilation (or querying .conf() in Python) in examples to print the results
  • It doesn't compose well since nesting is not allowed
  • It needs extra code to cope with mechanism.hpp
  • Need to pair PE/PL

Tracy on the other hand gives us

  • out of band data collection
  • native visualization
  • nested zones
  • RAII safety when marking zones
  • some niceties wrt threads
  • the ability to mark which mechanism we're updating

all in 3 macros.

I have some plans to add memory tracking later on, but I am reluctant to overload new and that
seems to be the only way of getting into std::vector and friends.

Here's the moment when we add spikes:

Screenshot 2024-04-10 at 10 50 19

Some clean-up was done as well, mainly swapping std::shared_ptr{new T(...)} for std::make_shared<T>(...)
and same for unique_ptr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants