Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Threading;
- using System.Diagnostics;
- using System.Runtime.CompilerServices;
- using System.IO;
- namespace Simple_Benchmark
- {
- public partial class MainForm : Form
- {
- public int zahl;
- public Stopwatch stopwatch = new Stopwatch();
- public MainForm()
- {
- InitializeComponent();
- }
- private void Main_Load(object sender, EventArgs e)
- {
- berechnenButton.Enabled = true;
- }
- static PerformanceCounter cpuCounter; // globaler PerformanceCounter
- static void InitialisierePerformanceCounter() // Initialisieren
- {
- cpuCounter = new PerformanceCounter();
- cpuCounter.CategoryName = "Processor";
- cpuCounter.CounterName = "% Processor Time";
- cpuCounter.InstanceName = "_Total"; // "_Total" entspricht der gesamten CPU Auslastung, Bei Computern mit mehr als 1 logischem Prozessor: "0" dem ersten Core, "1" dem zweiten...
- }
- static float GetCPUusage() // Liefert die aktuelle Auslastung zurück
- {
- return cpuCounter.NextValue();
- }
- private void berechnenButton_Click(object sender, EventArgs e)
- {
- try
- {
- berechnenButton.Enabled = false;
- long m = 0;
- if (string.IsNullOrWhiteSpace(textBox1.Text))
- {
- MessageBox.Show("Der Wert darf nicht null sein!", "Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- berechnenButton.Enabled = true;
- return;
- }
- try
- {
- m = Convert.ToInt64(textBox1.Text);
- }
- catch (FormatException fe)
- {
- MessageBox.Show("Der Wert muss eine Zahl sein!", "Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Error);
- berechnenButton.Enabled = true;
- #if DEBUG
- MessageBox.Show("Fehler: " + fe.ToString(), "Fehler!", MessageBoxButtons.OK , MessageBoxIcon.Error);
- #endif
- return;
- }
- if (m >= 500000000)
- {
- MessageBox.Show("Bei einem zu großen Wert kann das Programm eventuell nicht mehr reagieren!", "Warnung!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- InitialisierePerformanceCounter();
- Stopwatch s1 = Stopwatch.StartNew();
- float auslastung1 = 0;
- auslastung1 = GetCPUusage();
- for (int i = 0; i < m; i++)
- {
- }
- s1.Stop();
- Stopwatch s2 = Stopwatch.StartNew();
- float auslastung2 = 0;
- auslastung2 = GetCPUusage();
- for (int i = 0; i < m; i++)
- {
- }
- s2.Stop();
- Stopwatch s3 = Stopwatch.StartNew();
- float auslastung3 = 0;
- auslastung3 = GetCPUusage();
- for (int i = 0; i < m; i++)
- {
- }
- s3.Stop();
- double DurchschnittAuslastung = Math.Round(Convert.ToDouble((auslastung1 + auslastung2 + auslastung3) / 3), 0);
- double DurchschnittZeit = Math.Round(Convert.ToDouble((s1.ElapsedMilliseconds + s2.ElapsedMilliseconds + s3.ElapsedMilliseconds) / 3), 3);
- zeitLabel.Text = DurchschnittZeit + "ms";
- cpuAuslastungLabel.Text = DurchschnittAuslastung + "%";
- berechnenButton.Enabled = true;
- MessageBox.Show("Zeit: " + DurchschnittZeit + "ms" + "\r\n" + "CPU Auslastung: " + DurchschnittAuslastung + "%", "Ergebnis", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- }
- catch (Exception ex)
- {
- MessageBox.Show("Ein Fehler ist aufgetreten!", "Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Error);
- #if DEBUG
- MessageBox.Show("Fehler: " + ex.ToString(), "Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Error);
- #endif
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement