• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Benchmark procesora w c++

VPS Starter Arubacloud
0 głosów
714 wizyt
pytanie zadane 8 lipca 2015 w C i C++ przez amb00 Bywalec (2,000 p.)

Siema

Chciałbym pokazać Wam mój program sprawdzający szybkość procesora i chciałbym abyście go ocenili. Od razu chcę zaznaczyć, że program sprawdza tylko jeden rdzeń procesora. Program wyznacza 90 numer ciągu Fibonacciego i powtarza tę operację 9999999 razy. Następnie pokazuje czas w sekundach jak szybko to trwało. Program napisałem po to aby można było porównać każdą platformę sprzętową bez względu architekturę procesora czy system operacyjny (o ile na danym sprzęcie uda się uruchomić kompilator od c++). Program jest banalnie prosty w obsłudze. Wystarczy go uruchomić i czekać na wynik.

#include<iostream>
#include<cstdlib>
#include<time.h>
using namespace std;
int main()
{
clock_t x,y;
unsigned long long a = 0, b = 1;
cout<<"CPU benchmark is working..."<<endl;
x=clock();
for (int j=0;j<=9999999;j++)
{
     for(int i=0;i<90;i++)
     {
            b += a;
            a = b-a;
     }
     a = 0, b = 1;
}
y=clock();
cout<<"Time is: "<<(long double)(y-x)/CLOCKS_PER_SEC<<" seconds."<<endl;
cin.get();
return 0;
}

http://przeklej.org/file/ntGENY/CPU.benchmark.exe

1 odpowiedź

0 głosów
odpowiedź 8 lipca 2015 przez amb00 Bywalec (2,000 p.)

Zrobiłem ulepszoną wersję, która testuje oprócz procesora testuje pamięć ram i pamięć masową. Od razu mówię, że mam wątpliwości czy wszystko zrobiłem tak jak należy. Na innym forum słyszałem uwagi, że test CPU wykonuje tylko dodawanie i odejmowanie i, że kod nie jest zoptymalizowany.

 

#include<iostream>
#include<fstream>
#include<time.h>
using namespace std;
double CPU()
{
    clock_t x,y;
    unsigned long long a = 0, b = 1;
    x=clock();
    for (int j=0;j<=9999999;j++)
    {
    for(int i=0;i<90;i++)
    {
    b += a;
    a = b-a;
    }
    }
    y=clock();
    return (double)(y-x)/CLOCKS_PER_SEC;
    }

double HDD()
    {
    clock_t x,y; string xx;
    x=clock();
    fstream file;
    file.open("AMBbenchmark_temp.file.txt");
    for (int i=0; i<=10000000; i++)
    {
    file<<"xxxxxxxxxxxxxxxxxxxxxxx";
    getline(file, xx);
    }
    file.close();
    y=clock();
    return (double)(y-x)/CLOCKS_PER_SEC;
    }
double RAM()
    {
    clock_t x,y;
    int *t;
    x=clock();
    for (int i=0; i<10000; i++)
    {
    t=new int [99999];
    for (int i=0; i<99999; i++)
    {
        t[i]=i;
        t[i]++;
    }
    delete [] t;
    }
    y=clock();
    return (double)(y-x)/CLOCKS_PER_SEC;
    }
int main()
    {
    cout<<"AMBbenchmark v1.0 beta."<<endl<<endl;
    cout<<"Time processor (one core) is: "<<CPU()<<" seconds."<<endl;
    cout<<"Time storage is: "<<HDD()<<" seconds."<<endl;
    cout<<"Time Random-access memory is: "<<RAM()<<" seconds."<<endl<<endl;
    cout<<"Test was done."<<endl<<"Press any key to close program."<<endl;
    cin.get();
    return 0;
    }

 

http://przeklej.org/file/ZM6e4b/AMBbenchmark.exe

Podobne pytania

0 głosów
2 odpowiedzi 206 wizyt
pytanie zadane 25 grudnia 2015 w Sprzęt komputerowy przez Marcin951 Gaduła (3,250 p.)
0 głosów
1 odpowiedź 140 wizyt
pytanie zadane 5 lutego 2017 w JavaScript przez Szymon Lisowiec Mądrala (7,150 p.)
0 głosów
0 odpowiedzi 575 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...