In a previous installment, fx-9860GII beats Nspire CX CAS in an overclocking match, computing the parameters for a logistic regression function by the Nelder-Mead algorithm programmed in their respective on-calculator environment. It is quite astonishing not only to see Nspire losing in the speed race, but also by how much it loses.
To give the CX a second chance, while still maintaining the overall fairness, the program on the Nspire is enhanced by localizing variables (33 of them) and nothing else. The declaration of scope for variables is believed to be a common technique for performance boost. The logic of the program remain unchanged, so is the tolerance parameter.
And the results – Nspire is catching up by doubled performance from 63 seconds to 33 seconds!
Overclocking CPU is a trick to yield better performance in speed without any change to hardware or software. At clock frequency higher than those specified by the hardware manufacturer, this technique consumes more electricity as a tradeoff. This used to be referring to PC but thanks to the “openness” of modern calculators and efforts from hobbyists and developers, we are able to unlock the true power of our advanced calculators. In this case, a comparison of TI Nspire CX CAS and Casio fx-9860GII is carried out. The result is quite surprising. For the test case, a Nelder-Mead algorithm programmed in the calculators’ default on-calc programming environment is used as the benchmark. This mean no native code is used. At the same time, no special optimization is done for each of the test-beds. The program will then run a test data set to find the three parameters for a logistic regression function for a coffee shop sales prediction scenario. For fairness, the same initial set of parameters are used for the Nelder-Mead algorithm, as well as the tolerance level (1E-12). The results obtained from both calculators are verified to exact to 4 decimal places. For overclocking, the TI is running ndless with Nover 3. And the Casio is on Ftune2 v1.01. Only one overclocking performance is measured for the TI in the test which is the max stable obtainable from my hardware, 234 MHz. On the Casio, several settings are attempted, ranging from 58.98, 29.49, 117.96, 235.93, and finally 265.42 MHz. It should also be noted that the trials are done while the USB cable is plugged in, where a better performance can be obtained on overclocked Casio. Until there are definitive explanation for this, I can only speculate the Casio will be running at higher voltage while on USB and that somehow improved the performance, pretty much like the ATmel 3.3V and 5V difference. The results on performance are plotted below, with the x-axis the CPU overclocking rate and y-axis the relative performance (higher the better). While the Nspire CX CAS defaults at 132 MHz, the Casio already wins at 117.96 MHz by finishing the test case twice as fast. On the Nspire,1.5 times performance gain is obtained from the max overclock rate. At max overclock 265.42 MHz, the Casio runs almost 4.5 times faster than normal.
In next installment, measurements on performance by Ftune2 for the Casio will reveal the improvements by overclocking to the standard calculation functions (i.e. non-programming).