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

GlobalProfiler::lock().new_frame() can be very expensive due to compression #82

Closed
hrydgard opened this issue Jun 2, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@hrydgard
Copy link
Contributor

hrydgard commented Jun 2, 2022

Here's a small cutout from a Superluminal profile of an app that uses puffin scopes quite extensively:

image

The pack() call here takes around 1ms.

Looks like the pack() call from add_frame() gets very expensive. Partly because of zstd compression (can we turn down the compression level?) Also bincode serialization doesn't look cheap, maybe there's something faster we could switch to?

Ideally, it would be nice to run pack() on a separate thread, not sure how easy that would be but sure would help "main thread" performance.

@hrydgard
Copy link
Contributor Author

#83 was supposed to solve this but pack passes still ran, see #87. When that's in, we can close this.

@repi
Copy link
Contributor

repi commented Sep 13, 2022

Don't think we've seen this since #87 was merged in, so closing

@repi repi closed this as completed Sep 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants