-
Notifications
You must be signed in to change notification settings - Fork 14k
Closed
Labels
A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsI-slowIssue: Problems and improvements with respect to performance of generated code.Issue: Problems and improvements with respect to performance of generated code.
Milestone
Description
This is used for two purposes: 1) to assert that we aren't retaking a lock that we already own and 2) to enable a single recursive lock in rust_task_thread.
This functionality entails calling pthread_self a lot which is not free and imposes significant overhead (maybe 30%?) on all our locking.
To get rid of this we would need to get rid of the one recursive lock. Probably we would want to leave it in debug builds because it does some very useful sanity checks.
Metadata
Metadata
Assignees
Labels
A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsI-slowIssue: Problems and improvements with respect to performance of generated code.Issue: Problems and improvements with respect to performance of generated code.