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

Optimization records #138

Open
1 of 3 tasks
lhmouse opened this issue Nov 9, 2023 · 3 comments
Open
1 of 3 tasks

Optimization records #138

lhmouse opened this issue Nov 9, 2023 · 3 comments

Comments

@lhmouse
Copy link
Owner

lhmouse commented Nov 9, 2023

callgrind

Some obvious issues:

  • 1. Memory allocation of stacks and contexts also costs very much, but it can be mitigated by linking against tcmalloc.
  • 2. The cost of construction (17.28%) and destruction (10.52%) of an Executive_Context for a function call is too high.
  • 3. There are too many (2.5x plain calculation) name lookups for local variables, and the cost (18.00%) is non-negligible.
@lhmouse
Copy link
Owner Author

lhmouse commented Nov 16, 2023

callgrind

@lhmouse
Copy link
Owner Author

lhmouse commented Nov 25, 2023

vtune20231125204824

@lhmouse
Copy link
Owner Author

lhmouse commented Dec 3, 2023

Looks like we can save ~10% by making all reference counts non-atomic. Replacing all of them is of course impractical, but can we replace some of them?

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

No branches or pull requests

1 participant