Skip to content

Conversation

@fosterbrereton
Copy link
Contributor

@fosterbrereton fosterbrereton commented Jan 10, 2024

This adds a couple new things to ORC:

  • Subdividing die post-processing instead of one task per die entry. TL;DR: Instead of issuing a concurrent task for every die group, we subdivide all the groups into a set of chunks, one chunk per processor on the machine. This should reduce the scheduling overhead required for the post-processing phase of ORC, improving performance.
  • Status output when ORC is blocked on Tracy on exit. This emits a little text blob when ORC is blocked waiting for data to get flushed to the Tracy analyzer.
  • String pool mutex tracing. This allows us to see the contention in string pool mutexes so we can further optimize them.
  • Renamed an enum which will conflict with c++ modules (import).
@fosterbrereton fosterbrereton enabled auto-merge (squash) January 11, 2024 22:33
/*static*/ std::string_view pool_string::default_view("");

#define ORC_PRIVATE_FEATURE_PROFILE_POOL_MEMORY() (ORC_PRIVATE_FEATURE_TRACY() && 0)
#define ORC_PRIVATE_FEATURE_PROFILE_POOL_MUTEXES() (ORC_PRIVATE_FEATURE_TRACY() && 1)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume you are keeping this enabled on purpose?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah for now. Tracy should be turned off by default so shouldn't impact releases anyhow.

@fosterbrereton fosterbrereton merged commit aaeae49 into main Jan 11, 2024
@fosterbrereton fosterbrereton deleted the fosterbrereton/postprocessing-subdivision branch January 11, 2024 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants