G
gaussmath
Guest
Stresstest für die Integer Einheiten der CPU
Falls jemand einen Stresstest sucht, der ausschließlich Integer Einheiten abdeckt, hier bitteschön. Einfach mit Doppelklick starten und die Anzahl der Tasks/Threads festlegen, dann mit Enter bestätigen.
Zum selber Kompilieren:
Version mit dynamischen Lastwechsel hier: Stresstest für die Integer Einheiten der CPU
Falls jemand einen Stresstest sucht, der ausschließlich Integer Einheiten abdeckt, hier bitteschön. Einfach mit Doppelklick starten und die Anzahl der Tasks/Threads festlegen, dann mit Enter bestätigen.
Zum selber Kompilieren:
Code:
[COLOR=blue]using System;
[COLOR=blue]using System.Linq;
[COLOR=blue]using System.Threading.Tasks;
[COLOR=blue]namespace IntMark
{
[COLOR=blue]class [COLOR=#2b91af]Program {
[COLOR=blue]static [COLOR=blue]void Main([COLOR=blue]string[] args)
{
[COLOR=#2b91af]Console.WriteLine([COLOR=#a31515]"Number of tasks:");
[COLOR=green]// Be careful, no input validation [COLOR=blue]int numOfTasks = [COLOR=#2b91af]Convert.ToInt32([COLOR=#2b91af]Console.ReadLine());
[COLOR=green]// Generates about 64kb test data [COLOR=blue]const [COLOR=blue]long length = 8000;
[COLOR=blue]long[] array = [COLOR=#2b91af]Enumerable.Range(1, ([COLOR=blue]int)length).Select(x => ([COLOR=blue]long)x).ToArray();
[COLOR=blue]for ([COLOR=blue]int i = 0; i < numOfTasks; i++)
{
[COLOR=#2b91af]Console.WriteLine([COLOR=#a31515]"{0}. Task started...", i + 1);
[COLOR=#2b91af]Task.Factory.StartNew(() =>
{
[COLOR=blue]try {
[COLOR=blue]while ([COLOR=blue]true)
{
[COLOR=blue]long dotProduct = array.Sum(x => x * x);
[COLOR=green]// https://www.wolframalpha.com/input/?i=sum(i%5E2,i%3D1..n) [COLOR=blue]if (dotProduct != (length * (length + 1) * (2 * length + 1)) / 6)
{
[COLOR=blue]throw [COLOR=blue]new [COLOR=#2b91af]InvalidOperationException();
}
}
}
[COLOR=blue]catch ([COLOR=#2b91af]Exception ex)
{
[COLOR=#2b91af]Console.WriteLine([COLOR=#a31515]"Task aborted with exception {0}", ex.Message);
}
});
}
[COLOR=#2b91af]Console.ReadKey();
}
}
}
Version mit dynamischen Lastwechsel hier: Stresstest für die Integer Einheiten der CPU
Anhänge
Zuletzt bearbeitet von einem Moderator: