Odjechani.com.pl

Pełna wersja: Program w c++-benchmark procesora
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
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
Link nie działa :/ 403 Forbidden.

Wrzuć to lepiej tutaj za pomocą przycisku "Dodaj plik" :)
Czekam na program który sprawdzi wszystkie rdzenie.
Już wrzuciłem, przy okazji trochę dziwne, u mnie działa link.
Dopiero co się uczę programowanie więc niestety nie prędko zobaczysz.
4.212 sekundy na "czystym" systemie Windows 7 Ult x64 przy procesorze Intel Core i5 4460 (3200Mhz na rdzeń) ;)

Podajcie też swoje wyniki z nazwą procka, zobaczymy czy program optymalnie określa wartości.
Coś chyba nie tak jest. U mnie na pentium dual core e6600(3.06 GHz na rdzeń) osiąga czas 3.875 sekundy. System to też Win7 64-bit ale Home Premium. Należy pamiętać, że system wykorzystuje tylko 1 rdzeń.
Hmm... dziwne. Może ktoś inny na swoim CPU sprawdzić?
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
Nie wiem, dlaczego ale te linki, które wstawiasz mi nie działają. Wrzuć jeszcze raz tutaj: http://chomikuj.pl/Robotox3/Program
Już wrzuciłem.
Stron: 1 2