Academic Publishing Wiki
Advertisement

(Note: Small insignificant anomalies exist in the data due to a variety of factors. They do not introduce unacceptable errors into the results.)

Check sort

Table of Performance Values


1	0	0
100001	0.015	0
200001	0	0.016
300001	0.016	0
400001	0.046	0
500001	0.047	0
600001	0.062	0
700001	0.079	0
800001	0.078	0.015
900001	0.094	0
1000001	0.109	0.016
1100001	0.109	0.016
1200001	0.125	0.016
1300001	0.14	0
1400001	0.157	0.015
1500001	0.156	0.016
1600001	0.172	0.016
1700001	0.187	0
1800001	0.203	0.016
1900001	0.203	0.016
2000001	0.218	0.016
2100001	0.234	0.016
2200001	0.234	0.016
2300001	0.266	0.015
2400001	0.266	0.015
2500001	0.266	0.016
2600001	0.297	0.015
2700001	0.297	0.016
2800001	0.312	0.016
2900001	0.328	0.016
3000001	0.343	0.016
3100001	0.344	0.015
3200001	0.36	0.015
3300001	0.375	0.016
3400001	0.375	0.015
3500001	0.391	0.031
3600001	0.391	0.031
3700001	0.406	0.031
3800001	0.422	0.016
3900001	0.437	0.032
4000001	0.453	0.015
4100001	0.469	0.031
4200001	0.454	0.031
4300001	0.484	0.031
4400001	0.485	0.031
4500001	0.5	0.031
4600001	0.516	0.031
4700001	0.531	0.032
4800001	0.531	0.031
4900001	0.547	0.047
5000001	0.547	0.031
5100001	0.578	0.031
5200001	0.594	0.031
5300001	0.594	0.031
5400001	0.61	0.031
5500001	0.625	0.031
5600001	0.625	0.047
5700001	0.641	0.031
5800001	0.656	0.032
5900001	0.671	0.032
6000001	0.672	0.046
6100001	0.719	0.047
6200001	0.703	0.031
6300001	0.704	0.046
6400001	0.719	0.047
6500001	0.734	0.047
6600001	0.735	0.047
6700001	0.75	0.046
6800001	0.766	0.047
6900001	0.781	0.047
7000001	0.797	0.047
7100001	0.797	0.047
7200001	0.812	0.047
7300001	0.828	0.047
7400001	0.844	0.047
7500001	0.843	0.047
7600001	0.86	0.046
7700001	0.875	0.047
7800001	0.891	0.047
7900001	0.89	0.063
8000001	0.891	0.062
8100001	0.906	0.063
8200001	0.922	0.062
8300001	0.922	0.063
8400001	0.953	0.062
8500001	0.953	0.063
8600001	0.969	0.046
8700001	0.985	0.062
8800001	1	0.063
8900001	1	0.062
9000001	1.016	0.062
9100001	1.188	0.062
9200001	1.047	0.063
9300001	1.047	0.062
9400001	1.063	0.062
9500001	1.078	0.063
9600001	1.094	0.062
9700001	1.094	0.062
9800001	1.125	0.063
9900001	1.109	0.078
0.011481868	0.000677576	5.97%

Regression Analysis

Console output - (constraints)

RESULTS: (Check sort)
1.) Total number of items sorted:...................... 1542936
2.) Total primary array size to accomodate the sort:... 10000000
3.) Total secondary array size to accomodate the sort:. 1542936
4.) Total length of key:............................... 8 decimal digits.
5.) Total time for setup per 100,000 items:............ 1.109 seconds.
6.) Total time for sort per 100,000 items:............. 0.078 seconds.
7.) Total time for program:............................ 59.14 seconds.
Press any key to continue

Class Determination

Checksort 14599 image001.png

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 instead 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:

Class L
Routine Slope c
Setup 0.011481868 0
Sort 0.000677576 0

This method of representation allows performance to be projected for any number of items or time limit. An accurate projection of sort routine performance for any programming language or machine can be made using the time required to initialize an array by calculating the ratio of sort time to setup time (which in this case is or 0.0597 ) or a percentage value of 5.97%. Thus on a different machine providing a setup time slope value of 0.025 the projected sort time would be .025 * 0.0597 or 0.00147531 seconds per item or the ability to sort 67,782,364 items per second.