Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Viteza de calcul  (Citit de 1890 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Bit_Master
Vorbaret
****

Karma: -49
Deconectat Deconectat

Mesaje: 159



Vezi Profilul
« : Aprilie 09, 2009, 16:21:24 »

In borland stiu ca viteza de executie era de vreo 2 - 3 milioane de operatii / secunda.
Dar din moment ce nu se mai foloseste Borland la concursuri (in special la olimpiada), as vrea sa stiu de ex cate operatii/sec sunt la evaluatorul Infoarena si daca difera (viteza) de cea folosita la evaluatoarele concursurilor (olimpiade etc.).
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #1 : Aprilie 09, 2009, 17:10:30 »

Viteza difera in functie de cat de utilizat este procesorul, de memoria RAM, de multe lucruri. Din cate stiu, pe unele evaluatoare, programul tau este lasat sa ruleze x sec CPU. Daca programul tau foloseste sa zicem 25 % CPU, atunci el va fi lasat sa ruleze 4 * x secunde normale. Dar asta nu este relevant. In general, pe linux stiu ca ai 100 de milioane de operatii pe secunda. Poti face un test sa verifici. In orice caz, la majoritatea concursurilor on-site care se respecta exista o sedinta de testing inaintea primei probe, in care poti testa configuratia serverului de evaluare.
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #2 : Aprilie 09, 2009, 17:28:49 »

Depinde si ce fel de operatii. Daca parcurgi cu un for de la 1 la 10 miliarde si calculezi intr-o variabila sa zicem 2*i (i iteratorul), atunci iti ruleaza sub 0.1 (daca tin minte, chiar instantaneu)... Daca compilezi fara "-O2" atunci e alta poveste...
Memorat
blasterz
Nu mai tace
*****

Karma: 92
Deconectat Deconectat

Mesaje: 255



Vezi Profilul
« Răspunde #3 : Aprilie 09, 2009, 21:08:20 »

Depinde si ce fel de operatii. Daca parcurgi cu un for de la 1 la 10 miliarde si calculezi intr-o variabila sa zicem 2*i (i iteratorul), atunci iti ruleaza sub 0.1 (daca tin minte, chiar instantaneu)... Daca compilezi fara "-O2" atunci e alta poveste...

Nu e chiar asa.. daca faci 10 miliarde de operatii care nu au efect -O2 le ignora (nu le efectueaza).

Am testat asa:

long long s=0, v, i;

for(i=1; i <= 10000000000LL; ++i) v+=2*i;

printf("%lld\n", v);

Daca nu afisezi timpul de executie este 0,000001... adica se ignora operatiile
In schimb daca afisezi...o sa stea ceva ca sa calculeze v-ul...
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #4 : Aprilie 09, 2009, 21:10:28 »

Testul nu era facut de mine, doar asistasem uimit la cat de "repede" se misca o sursa de genul ala. Imi pare rau de dezinformare  Very Happy
Memorat
sandyxp
Strain
*

Karma: -1
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #5 : Aprilie 13, 2009, 20:03:06 »

Hey, da, e interesant ca iti ignora daca nu folosesti ulterior variabila. Nu ma prindeam de ce merge asa de repede!
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines