Benchmark

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 987 fois - Téléchargée 35 fois

Contenu du snippet

Ce code demande a l'ordinateur de tirer au sort un max de nombre pendant 30 secondes et affiche ensuite le résultat.
Je sais que c'est prétentieux de dire que c'est un benchmark mais cela montre en même temps une utilisation du temps.

Source / Exemple :


//compilé avec builder c++5
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <dos.h>
int c;
int secondes;
int secondes_test;
int nombre;
unsigned long int compteur=0;
int diviseur;
int test;
int reference;
int compt_nombre=0;
int compt_zero=0;
int compt_un=0;
int main(void){
        cout <<" Nous allons effectuer un benchmark, c'est a dire, nous allons tester les\n performances de votre ordinateur.";
        cout <<"Pour des performances optimales, il est\n conseille de fermer toutes les applications et fenetres ouvertes";
        cout <<"(sauf\n celle la), nous allons tester le temps puis faire effectuer de nombreuses\n operations a votre ordinateur pendant 30 secondes"<<endl;
        cout <<"Appuyez sur entree pour commencer";
        getchar();
        clrscr();
        struct time t;
        gettime(&t);
        cout <<"Nous allons d'abord tester le temps"<<endl;
        do{
        struct time t;
        gettime(&t);
        secondes = t.ti_sec;
        cout<<"Il vous reste encore: " <<(60-secondes)<<" secondes a attendre ";
        for(int i=0;i<47;i++){
        cout<<"\r";
        }
        if(secondes==0){goto suite;}
        sleep(1);
        } while(secondes!=0) ;
        suite:
        clrscr();
        srand((long int)time(NULL));
              int *pnombre;
              pnombre = &nombre;

              gettime(&t);
              secondes = t.ti_sec ;
              test = secondes +30;
             do{
                struct time t;
                gettime(&t);
                secondes_test = t.ti_sec;
                        do{
                                division:
                                diviseur=rand();
                                if(diviseur==0){goto division;}

  • pnombre=rand();
  • pnombre = *pnombre%diviseur;
compteur++; }while(*pnombre>1); if(*pnombre==0){cprintf("0");compt_zero++;} if(*pnombre==1){cprintf("1");compt_un++;} compt_nombre++; }while(secondes_test!=test); clrscr(); cout <<"C'est bon, le test est fini"<<endl; cout <<"Votre ordinateur a effectue: " << compteur << " operations en 30 secondes !!!"<<endl; cout <<" "<<compt_nombre<<" nombres ont ete affiche"<<endl; cout <<" "<<compt_zero<<" 0 ont ete affiche"<<endl; cout <<" "<<compt_un<<" 1 ont ete affiche"; getchar(); return 0;}

Conclusion :


Encore une fois, ne soyez pas trop sévère.
J'avais gardé ce code depuis des mois(datant de l'époque où j'étais vraiment très bordélique) et je n'y ai pas touché.

A voir également

Ajouter un commentaire

Commentaire

cs_Ares
Messages postés
18
Date d'inscription
jeudi 22 juin 2000
Statut
Membre
Dernière intervention
28 août 2003

Ton code n'est pas mauvais, il traduit juste un manque d'experience.

Par exemple :

cout<<"














































";

on aurrais plutot mis

for (unsigned int i = 0; i < 42; i++)
cout << "
";

Certe l'execution est plus long, mais commode a modifier.

Bonne continuation.

Ares

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.