Scores | |||||||||||||||||||||||||||||||||||||
Numbers are on scale of 0..100. Metrics algorithms completely made up out of thin air. See notes below for details. |
|||||||||||||||||||||||||||||||||||||
Speed vs. Functionality | |||||||||||||||||||||||||||||||||||||
Higher numbers are better on both axes. The "good" zone is the upper right and the "bad" zone is the lower left. The top is fast, the bottom is slow. Left is more warnings, right is less. |
|||||||||||||||||||||||||||||||||||||
Scoring AlgorithmsThe algorithm behind the scores shown on this page are somewhat arbitrary. Many different algorithms could have been used, but after careful thought the one discussed below was considered to be "good enough". The code for the scoring algorithm was carefully implemented behind an Link to the code for the scoring algorithm. |
|||||||||||||||||||||||||||||||||||||
BenchmarksHandler benchmarks are scored based on several metrics on each of various tests. Metrics are worth different amounts depending on what they are. The weights applied during this process are shown on the right. Each combination of handler and test results in a single line of test output:
From this line we get:
For each handler/test combination (single line or test results) we use three results: nanoseconds per operation, memory bytes allocated per operation, and memory allocation per operation. These three items are combined over two steps. First the test value ranges are acquired:
Then the test scores are calculated:
Where the |
|
||||||||||||||||||||||||||||||||||||
WarningsHandlers are scored based on how few warnings are generated. Warnings are worth different amounts depending on their warning level. The weights applied during this process are shown on the right. Scoring is done for all handlers at the same time:
Where the The scores for each handler are then divided by the maximum possible number
of warnings that any handler might receive (if it were really awful)
and that number is subtracted from Note that most scores are above ~40 as it is difficult to throw all the warnings. |
|