Speed Test

Despre PHP, MySQL, HTML, C++, VB, JAVA etc.

Moderator: Moderatori

Post Reply
User avatar
Arpad
Posts: 74
Joined: Sun Nov 02, 2003 12:58 am

Speed Test

Post by Arpad »

Sti-ti ce propun!
facem un program in Protel sau faca sa voia voastra in C care masoara cat de repede se executa un anumit program!
Facem Backtrkingu' cu parmutarile in Pascal,C,Basic etc... si vedem cre ii mai rapid! Ce ziceti?
(Programu ala care masoara viteza intr-adevar nu stiu cum s-ar putea face in Pascal da in Delphi ii simplu;in cazu asta C>Pascal ; dar exista si cazuri contrare)

Am split-uit intr-un nou topic din cel despre limbajul preferat(in care se tot deviaza :-?)
psycho too
Posts: 39
Joined: Sat Jul 19, 2003 1:18 am

Post by psycho too »

bine arpad. :evilbat:
propune un algoritm (ceva clasic, simplu) si sa il implementam fiecare in ce crede ca e mai bun!
User avatar
Arpad
Posts: 74
Joined: Sun Nov 02, 2003 12:58 am

Post by Arpad »

Pai nu-i asa de usor! intai trebuie sa facem programu ala care masoara viteza! un fel de AddWach care vizualizeaza in Background de cate ori valoarea variabilei in care inregistram numarul de solutii se implementeaza cu 1.
Eu ziceam ceva simplu!Generarea permutarilor cu Backtraking!

Stii ce ma mira?Ca nu ai zis nimic de faptu ca am recunoscut C>Pascal!
psycho too
Posts: 39
Joined: Sat Jul 19, 2003 1:18 am

Post by psycho too »

:D
esti simpatic, imi place numai sa te taxez cand nu sunt de acord cu tine! (glumesc, consider ca lucrul in echipa aici pe forum este foarte benefic!)

sunt functii in VB, VC++, C#, Delphi care afiseaza ora dinainte si ora de dupa rularea algoritmului, asa ca daca postam codul aici in thread ne consultam de unde sa masuram timpul scurs.
User avatar
Tudor.b
Posts: 960
Joined: Tue Jun 03, 2003 8:18 pm

Post by Tudor.b »

Arpad> C e clar mai bun decat pascalu`. D`aia nimeni n`a zis nimic. Fa o supraincarcare de operator in pascal.
Anyway, conditziile de test tre` standardizate, ca aşa ma duc la facultate shi rulez pe un intel 3,2 ghz cu 1 gb ram...asta ca fapt divers, ca am chestii mai bune de facut cu timpu` meu liber!
psycho too
Posts: 39
Joined: Sat Jul 19, 2003 1:18 am

Post by psycho too »

pai, de aia zic sa postam codul sursa, ca sa rulam fiecare exemplu pe acelasi calc (propriu) si sa postam rezultatele...
User avatar
xan
Posts: 118
Joined: Mon Aug 19, 2002 3:00 am

Post by xan »

psycho too wrote: sunt functii in VB, VC++, C#, Delphi care afiseaza ora dinainte si ora de dupa rularea algoritmului, asa ca daca postam codul aici in thread ne consultam de unde sa masuram timpul scurs.
cred ca nu-i de ajuns ora... asta nu-i un counter eficient
pt ceva mai klumea merge

BOOL QueryPerformanceCounter(
LARGE_INTEGER *lpPerformanceCount // counter value
);


daca la asta te-ai referit, scuze..
pa
Traiasca Romania dodoloata!
User avatar
Arpad
Posts: 74
Joined: Sun Nov 02, 2003 12:58 am

Post by Arpad »

O mica problema cu chestia asta!
Daca vrem sa calculam care algoritm e mai rapid atunci mere ideea voastra ! dar eu vreau sa vad care executabil e mai rapid!
un executabil generat cu C nu este la fel de rapid cu unul generat in Pascal chiar daca s-a folosit acelasi algoritm!
de aceea trebuie sa facem un program care monitorizeaza fiecare executabil in parte(Task manager) si care in acelasi timp e capabil sa monitorizeze memoria RAM(ca se antivirusii).
Timpul care ma intereseaza ii timpu dintre prima modificare a variabilei care reprezinta numarul solutiiei si ultima modificare a acestuia.
Cred ca o fi mai greu sa facem programu care testeaza!
psycho too
Posts: 39
Joined: Sat Jul 19, 2003 1:18 am

Post by psycho too »

nu ma refeream la algoritmi diferiti, ci la portari ale aceluiasi algoritm in mai multe limbaje.
daca la asta te-ai referit, scuze..
nu la asta m-am referit, dar e buna ideea, fiindca putem importa functia din WINAPI in toate aceste limbaje.
User avatar
Arpad
Posts: 74
Joined: Sun Nov 02, 2003 12:58 am

Post by Arpad »

Ok eu va trimit executabilul generat in Pascal si ce mai vreti voi!
daca tot facem testul sa-l facem pe mai multe limbaje de programare!
dar cum facem cu programul care face testul si cu PC-ul pe care testam?
User avatar
bloomfield
Posts: 214
Joined: Sat Sep 13, 2003 2:55 pm

Post by bloomfield »

Nu inteleg care e probleam cu folosirea unui timer pentru masurarea vitezei? Cum adica sa masori viteza executabilului? Ce o bucata de executabil nu e tot executabil? Este foarte buna modalitatea urmatoare si din cate stiu eu este foarte folosita pentru masurarea vitezei.

Code: Select all

1 startTimer
2 loop n times
3 //...implementare algoritm
4 end loop
5 endTimer
Poti considera ca 1 si 5 nu fac parte din "executabil" pentru ca ele nu sunt masurate. Restul este oricum generat folosind respectivul compilator asa ca este cod executabil masurat.
Cu memoria este alta problema dar cred ca se poate folosi un profiler separat.
O barmaniţă virtuală aş putea accepta
...dar o bere virtuală?? Niciodată!
User avatar
euufilip
Posts: 169
Joined: Mon May 26, 2003 4:28 pm

Post by euufilip »

hai sa facem programul. ce trebuie sa faca?

despre masurarea timpului nu cred sa fie vreo problema de implementare daca folosim timere hardware ("performancecounter" sau "metoda cuantelor") si le testam pe fiecare in parte pe acelasi calculator. atunci vedem si diferenta dintre procesoare si extensiile lor multimedia sau nu avem voie sa folosim asa ceva.(fixati cateva reguli). cu sursa binenteles sa nu apara manarii.

despre viteza executabilului nu inteleg nici eu care este trick-ul. despre memorie la fel nu cred ca are importanta.
euu
User avatar
SG
Posts: 1498
Joined: Fri Mar 22, 2002 2:00 am

Post by SG »

Cu "viteza executabilului", cred ca Arpad se referea la overhead, adica timpul care se petrece "in afara" codului scris de voi, adica initializari, mediu... De exemplu, la mine, pana la inceperea executarii unei aplicatii Java dureaza cam 5 secunde, timp in care nu se intampla nimic util, doar incarcarea JVM/JRE. Bineinteles, acest timp este vizibil doar daca vrea cineva sa masoare timpul uitandu-se cat timp dureaza, sau daca se foloseste un program extern care lanseaza aplicatiile si monitorizeaza timpii de executie, de exemplu un script. Dar folosind masurarea interna (din cod) a timpului, cum zicea idashahabin, se trece peste acest incovenient. deci probleme nu sunt.
The grass was greener...
I am death...
User avatar
Arpad
Posts: 74
Joined: Sun Nov 02, 2003 12:58 am

Post by Arpad »

Sta-ti umpic!!!!!!!
degeaba masuram cat de repede se executa acelasi algoritm scris in limbaje diferite pentru ca acesta este intodeauna la fel de rapid!
Trebuie (cum am mai zis de altfel) sa masuran cat de rapid este executabilul generat de limbajele de programare pe care vrem sa le testam adica dupa ce se face conversia din limbajul de programare in cod masina!!!Cat de repede poate executabilul generat sa parcurga algoritmul dat!! Intelege-ti?
User avatar
bloomfield
Posts: 214
Joined: Sat Sep 13, 2003 2:55 pm

Post by bloomfield »

*snip*
degeaba masuram cat de repede se executa acelasi algoritm scris in limbaje diferite pentru ca acesta este intodeauna la fel de rapid!
FALS!
Din codul scris intr-un limbaj de programare se ajunge la cod executabil folosind un compilator. Se obtine cod executabil diferit chiar din cod scris in acelasi limbaj dar compilat folosind compilatoare diferite. Ce sa mai vorbesc de limbaje diferite care au bineinteles propriile compilatoare?

moderator edit @ Black Shark : dreptul de a posta pe acest forum nu se acorda pe baza de diploma, unii stiu mai multe, altii mai putine(sper sa nu ofensez pe cineva), dar asta nu inseamna ca nu isi poate exprima oricine o parere, insultele nu isi au locul aici

ok ai dreptate am fost in mod gratuit un pic cam dur (mai ales ca nici eu nu sunt marele specialist)
O barmaniţă virtuală aş putea accepta
...dar o bere virtuală?? Niciodată!
User avatar
euufilip
Posts: 169
Joined: Mon May 26, 2003 4:28 pm

Post by euufilip »

daca stau sa ma gandesc mai bine, nu o sa mearga.

trebuie sa avem un algoritm si sa-l implementam in diferite limbaje... acelasi algoritm fara nici o variatie... practic aportul programatorului sa fie 0 (ideal)... nu vad un rezultat notabil daca fiecare gandeste o rezolvare proprie a unei probleme date.

de ex compari berea cu vodka... e tot alcool dar nu in aceeasi masura. :drinking:
euu
User avatar
Arpad
Posts: 74
Joined: Sun Nov 02, 2003 12:58 am

Post by Arpad »

Programu merge!
Am zis, facem Bk-permutarile in diferite limbaje de programare!
algoritmul va fi acelasi,deci la fel de rapid!
noi vom testa insa executabilele generate de diferite compilatoare!!
Programul care face testu cred ca cel mai usor se poate face in delphi!
User avatar
Arpad
Posts: 74
Joined: Sun Nov 02, 2003 12:58 am

Post by Arpad »

Cum ramane cu testu' nostru?
M-am gandit la ceva si mai interesant!
Sa facem mai multi algoritmi si sa-i implementam in limbaje diferite, da pe langa asta sa facem si grafica si multimedia sa vedem care limbaj se comporta mai bine si in cazuri particulare!!
Programu de testat daca n-aveti idei cred ca o sa-l fac eu in Delphi da nu stiu daca am timp!! Daca il aveti gata facut sau macar in constructie zicetimi sa nu ma agit degeaba!!!
User avatar
FreeMan_FX
Posts: 100
Joined: Mon Sep 20, 2004 10:00 pm

Post by FreeMan_FX »

probabil nu-i ce vreti voi ..dar eu as zice sa gasim o chestie de facut si sa o faca fiecare in ce vrea ..si sa alegem cel mai bun algoritm ( si implementare ) ...de fapt sa gasim chestii folositoare si sa facem dll-uri ..ca sa se poata folosi in orice limbaj ..exculs chestii clasice de algoritmi de la scoala .. ..parerea mea :multi:
cel mai bine sa nu inventam noi ce sa facem ..ci sa vina cineva cu problema lui si noi sa incercam sa implementam ..
Post Reply