Over the past few months, I have been working with an intensive processor that I wrote in C # called Zeros6.
The approximate time elapsed to date is 157 days, and the total processor time is 1217 days. [Some information about the computer: Intel Core i7 2600 / 3.4 GHz / 4 cores + hyperthreading → 8 processors.]
I wrote a program using Visual Studio Express 2010 and version 4 of the .NET Framework (I think).
In any case, today I decided to install Visual Studio Express 2012. The installer installed version 4.5 of the .NET Framework, and then requested a reboot to continue the installation. I stopped Zeros6 and restart the computer. After the reboot, Zeros6 restarts automatically, as usual, and the installation of Visual Studio continued and soon finished. Then I was shocked to find that Zeros6 was much faster than usual. The speed indicator, which is usually fairly stable at 5.5 (picoseconds per digit), dropped to 2.0 - I have never seen it below 5.34. Then I stopped and started the program several times, and restart the computer again, but the speed improvement continues to persist. If we call the old speed 100% the new speed 275%!
I am curious to know what is going on.
Some announcements ...
uint[] digits;
uint startI;
uint stopI;
public static readonly int bigPowerIncrement = 34;
public static readonly uint myBase = 1000000000;
8 ...
{
ulong carry = 0;
unchecked
{
for (uint i = startI; i < stopI; i++)
{
ulong m = ((ulong)digits[i] << bigPowerIncrement) | carry;
carry = m/myBase;
if ((digits[i] = (uint)(m - myBase*carry)) < 1000000)
{
h.specials[h.specialCount++] = i;
}
}
}
h.carry = carry;
}