Table of Performance Values[edit | edit source]
Regression Analysis[edit | edit source]
The following table provvides the values of the constraints under which regression analysis of the performance data was performed.
Value | Units | |
---|---|---|
Primary array | 9,999,999 | Cells |
Secondary array | 7,505,468 | Items |
Key length | 1 to 8 | Digits |
Setup time^{[1]} | 5.875 | Seconds |
Sort time^{[2]} | 1.484 | Seconds |
Total Ratio | .0.2526 | Percent |
Class Determination[edit | edit source]
Class notated sort routines are categorized according to the Chi Square analysis of linear (L), parabolic {P), logarithmic (Ln) and exponential (E) best fit regression analysis applied to their performance data produced under a specified set of constraints. Class notation is used in preference to Theta notation, a form of Big O notation, since the advantage Class notation offers is to provide the values of the equation parameters obtained from regression analysis of the performance data such as in the case of a linear equation best Chi Square fit of the value for slope (or seconds per item) in the case of a Class L (linear equation) category best fit. This additional information allows the programmer or user to select the best sort routine for his own application based upon the actual number of items which must be sorted per unit time or the time limit to sort a specific number of items. Since the Check sort performance best fits the Class L category the values for slope m and constant c for the linear equation f(x)= m*x+c can be determined by a best fit linear regression analysis and provided in the table below:
Routine | Slope | c |
---|---|---|
Setup | 0.058192715 | 0 |
Sort | 0.0144728 | 0 |
Sort time in this case is 24.87% of setup time , If a setup slope of .025 is determined by empirical analysis using another machine the projected results would indicate a sorting rate of (.025 *.2487) or 0.00622 seconds per item or the ability to sort 16,083,332 items per second assuming the ratio of setup to sort time will not change from machine to machine for the same implementation of the same language.