Skip to content

Conversation

@JDuchniewicz
Copy link

@JDuchniewicz JDuchniewicz commented Dec 19, 2025

This PR adds missing early processing for two benchmarks:

  • Signal to thread of higher prio (early processing)
  • Signal to process of higher prio (early processing)

It also:

  • removes saving of the redundant empty array of samples and storing them in the test structures
  • rounds mean/variance results output to the JSON file
  • rounds stddev to 3 decimal places

Adds early processing to scheduler benchmarks.

Signed-off-by: Jakub Duchniewicz <j.duchniewicz@unsw.edu.au>
Signed-off-by: Jakub Duchniewicz <j.duchniewicz@unsw.edu.au>
Signed-off-by: Jakub Duchniewicz <j.duchniewicz@unsw.edu.au>
@JDuchniewicz
Copy link
Author

@lsf37 It's been pending for a while. Would you have a look at that? It's not crucial but definitiely improves the benchmarking in general.

@lsf37 lsf37 requested a review from Indanz January 29, 2026 05:27
Copy link
Contributor

@Indanz Indanz left a comment

Choose a reason for hiding this comment

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

Looks okay.

Main thing I don't like is doing the same thing twice in slightly different ways, but that applies to all early processing stuff, not just this one.

Just make a choice between early processing or no early processing, whichever is better. Why would the user be interested in the same benchmark done slightly differently?

I'd like to see some before and after numbers for these changes for multiple platforms, if possible.

My main problem with this whole early processing thing is that it adds a lot of complexity, while all that's needed for the existing benchmarks to be stable is to zero the result array before starting the benchmark, to make it cache hot.

Edit: Oh, and a check for overflows would be nice to catch problems with large numbers of runs.

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.

2 participants