1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Super Pi dos Pobres (Homemade)

Discussão em 'Programação' iniciada por ScOrpion-boy, 7 de Dezembro de 2005. (Respostas: 19; Visualizações: 2055)

  1. ScOrpion-boy

    ScOrpion-boy Banido

    Biba,

    Uma vez que quero aprofundar os meus conhecimentos no time.h pus-me a brincar, saiu isto:

    #include <stdio.h>
    #include <time.h>

    main()
    {
    double difftime( time_t t1, time_t t0);
    double d, a=0;

    time_t t0=time(NULL);

    while(a<999999.0)
    {
    printf(" %lf \n",a);
    a++;
    }


    time_t t1=time(NULL);
    d=difftime(t1,t0);

    printf(" Tempo : %lf Segundos\n", d);

    }



    Basicamente isto conta o tempo que demora a contar até 999999, no meu centrino 1.4 demorou 272 segundos.

    Sei que isto é uma tarefa muito básica, e que pouco pode dizer sobre a real capacidade de um processador, mas queria que voces fizessem o teste e exprimentassem este programita :D


    PS-Alguem que tenha o visual basic, que compile o programa e que post aqui SFF, pois eu uso o cying, e se compilar com este programa nao corre nos pcs sem este programa.

    PS1- Se alguem souber uma maneira de calcular os nanosegundos que dê umas dicas.
     
  2. Madril

    Madril 1st Folding then Sex

    faz uma coisa, comenta:

    Código:
    [B] 	printf(" %lf \n",a);
    
    [/B]ou seja, ficaria:
    [B]/* printf(" %lf \n",a); */
    [/B]

    E ve quanto demora ;)
     
  3. Barata

    Barata I folded Myself

    Vais passar dum Fiat seicento, para um Buggati Veyron! :D
     
  4. ScOrpion-boy

    ScOrpion-boy Banido

    se fizer isso, aparece 0 segundos :002: , nao será o compilador que sabe que aquilo só incrementa e mete logo o valor final na variavel? Mas a piada é ver o numeros :zzz:
     
  5. Madril

    Madril 1st Folding then Sex

    "printar" tanta coisa é k demora tempo :P
     
  6. redalert

    redalert Folding Member

    Correr isso em windowZ não dá um bom bench porque (và-xe lá xaber) o windowZ aloca, na maioria das vezes, a memória para as variáveis no "swap" e não em ram. :rolleyes: Fórças a alocação em memória fisica ou bench fidedigno esquece... :confused:

    [[]]
     
  7. JPgod

    JPgod Moderador
    Staff Member

    Há pois!

    O mesmo se passa em C++, cheguei mesmo eu a testar, escrever uma data de numeros ENORMES um a um e era um arrasto total! demorava BUÉEEEEE

    Deposi meti a escrever de 1000 em 1000 (por exemplo) e era bue fast, e se metesse para escrever apenas no final o calculo era quase instantâneo:D
     
  8. redalert

    redalert Folding Member

    O print para o buffer do ecrã é muito mais lento que redireccionar o output para um file, por exemplo, txt ou dat. :)

    [[]]
     
  9. tripeiro

    tripeiro 1st Folding then Sex

    no centrino demorou 272 segundos? no meu amd 2400 portatil fiz 34 segundos, em linux :P
     
  10. Madril

    Madril 1st Folding then Sex

    com ou sem o printf ?
    Ele usou o cygwin, que é assim uma coisa .... lenta ... :P
     
  11. Barata

    Barata I folded Myself

    Está-me a dar a nostalgia ...:zzz: ... apetece programar! Mas eu agora só curto RAD's! Sejam elas da Borland ou da Microsoft! E como o meu portátil não aguenta...pfff!:P

    Talvez no Natal... já tenha o tão esperado LG20-44MP! :002: E depois, é só preciso projectos! ;)
     
  12. Simao

    Simao Power Member

    O print atrasa bue quer seja para um ficheiro quer para o ecra... O cpu tem que transferir os dados na mesma! mais nao fazer nada e calcular apenas.

    Mas sem usares armazenamento directo das variaveis em memoria não vais ter um bench como deve ser...sabes la onde eh ke o SO lhe vai apetecer por as variaveis...ele mete onde houver espaço.
     
  13. Barata

    Barata I folded Myself

    Estão a falar de ponteiros né?

    É que já lá vai algum tempo...:x2:
     
  14. JPgod

    JPgod Moderador
    Staff Member

    Será? Já fiz experiencias com programas de C++ na qual um vector ia crescendo ad-infinite e só se via os MB da memória a voar num instante, e o programa era bastante rápido, assim que esgotava a ram, passava a escrever na page file e a diferença na performance do calculo era ABISSAL... (meti para fazer output no ecran de x em x passágens)...
     
  15. redalert

    redalert Folding Member

    Eu disse "na maioria das vezes". :cool:

    [[]]
     
  16. kanguru

    kanguru [email protected] Member

    poderá se considerar um ciclo em que so se incrementa um benchmark?
     
  17. redalert

    redalert Folding Member

    Sim. É o mais simples dos benchs mas sim. :p Para haver incrementação na(s) variável(is) é preciso que o cpu, memória e afins consumam tempo e recursos.

    [[]]
     
  18. rentium

    rentium Power Member

    Ola como iniciado onde e que eu meto:

    #include <stdio.h>
    #include <time.h>

    main()
    {
    double difftime( time_t t1, time_t t0);
    double d, a=0;

    time_t t0=time(NULL);

    while(a<999999.0)
    {
    printf(" %lf \n",a);
    a++;
    }


    time_t t1=time(NULL);
    d=difftime(t1,t0);

    printf(" Tempo : %lf Segundos\n", d);

    }
    ainda nao precebi alguem me excalrece quero testar o meu pIV 3.2
     
  19. paperless

    paperless Power Member

    Isso é um programa em C, tens de o compilar e depois correr. De qualquer forma como ja foi dito atrás o programa não cumpre essa função (de benchmark) como deve ser.

    Usa mesmo o Super Pi.
     
  20. rentium

    rentium Power Member

    ok obrigado estou neste momento a correr o super pi nos 32M
    vai em 11 min(:x2::002::002::lol:)
     

Partilhar esta Página