Skip to content

Conversation

@rjmccall
Copy link
Contributor

  • Introduce a typedef for job delays instead of writing unsigned long long in a million places.
  • Switch to using ListMerger for priority insertion
  • Move ready delayed jobs to the back to the queue instead of running them immediately, before anything currently in the queue.
  • Respect priorities in delayed jobs.
  • Use the proper std::chrono facilities for managing deadlines instead of doing all the math on nanoseconds since the epoch.
  • Take advantage of the second word of queue-private storage to avoid allocating a separate job when a deadline fits there.

- Switch to using ListMerger for priority insertion.
- Move ready delayed jobs to the back to the queue instead of
  running them immediately, before anything currently in the queue.
- Respect priorities in delayed jobs.
- Use the proper std::chrono facilities for managing deadlines
  instead of doing all the math on nanoseconds since the epoch.
- Take advantage of the second word of queue-private storage to
  avoid allocating a separate job when a deadline fits there.
@rjmccall
Copy link
Contributor Author

@swift-ci Please test

@rjmccall rjmccall requested a review from ktoso November 16, 2021 08:25
@rjmccall
Copy link
Contributor Author

Windows failure is in LLDB; merging

@rjmccall rjmccall merged commit 7880972 into swiftlang:main Nov 16, 2021
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.

1 participant