Open davezych opened 8 years ago
i guess that the benchmarking will require some internal singleton thread-save hashtable to keep track of the statistics.
also, we would have to define what kind of statistics we need. min, max, average, median, standard deviation, percentiles, and the like comes to my mind.
maybe the user should keep track of the statistics in the publish method himself, since not every user will need all statistics.
the LinqStatistics package could be useful.
It might be useful to provide benchmarking methods to Shience. This would allow the user to wrap Shience around a single method, and publish the runtime stats just to track the average runtime over time for a method.
A simple solution would be to allow the candidate to be null when calling
Test
, which would mean only the control would run and there would be publish data for just the control available.A "better" solution would be something like: