Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[Concours] Algorithme de tri

Volcan
Avatar de burster
  • Age : 2208 ans
  • Messages : 1682
  • Inscrit : 19 Mars 2005
  Lien vers ce message 16 Octobre 2006, 11:50

Reprise du dernier message

Ben par exemple on regarde si $ary est bien un tableau (is_array) etc..


e-Traker
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14351
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 16 Octobre 2006, 11:55
Pas besoin de tester, comme déjà dit dans le sujet vous recevez en paramètre un tableau d'entier.


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Equipe des MODS
Avatar de Grummfy
  • Age : 23 ans
  • Messages : 5410
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 16 Octobre 2006, 14:40
pas mal de gain de temps grâce à cela ....


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
http://www.grummfy.com/download/crea/smileys/fsb2.gif Mods fsb1 - Mods fsb2 - Mon forum - Grummfy's project
 
Volcan
Avatar de burster
  • Age : 2208 ans
  • Messages : 1682
  • Inscrit : 19 Mars 2005
Message édité 1 fois, dernière édition par Genova, 16 Octobre 2006, 19:43     Lien vers ce message 16 Octobre 2006, 19:32
Je sais pas si je me débrouille bien pour prendre les mesures de temps mais je trouve:
xxxx secondes pour trier 1 000 000 d'entier (pouvant allez de -500 000 à +500 000)
Sur un PIVc 3 Ghz, 1 Go Ram et Easyphp comme moteur.
C'est long, moyen , rapide ? j'avoue que j'ai aucune grandeur.


<?
$taille = 1000000;
for ($i =0; $i < $taille; $i++)
	$arr[$i] = mt_rand(-500000,500000);
$temps = microtime();
$temps = explode(' ', $temps);
$debut = $temps[1] + $temps[0];
fsb_tri($arr);
$temps = microtime();
$temps = explode(' ', $temps);
$fin = $temps[1] + $temps[0];
echo 'Page execute en ' .round(($fin - $debut), 6). ' secondes.';

?>


c est la bonne méthode pour mesurer?


e-Traker
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14351
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 16 Octobre 2006, 19:42
Ca a l'air bon le test. Mais j'édite ton message histoire de pas donner d'indication horaires.


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Equipe des MODS
Avatar de Grummfy
  • Age : 23 ans
  • Messages : 5410
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 16 Octobre 2006, 19:42
oui je pense


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
http://www.grummfy.com/download/crea/smileys/fsb2.gif Mods fsb1 - Mods fsb2 - Mon forum - Grummfy's project
 
Volcan
Avatar de burster
  • Age : 2208 ans
  • Messages : 1682
  • Inscrit : 19 Mars 2005
  Lien vers ce message 16 Octobre 2006, 19:45
Oki doki merci monsieur Grummfy, mademoiselle Genova :D


e-Traker
 
Equipe de support
Avatar de B.Moncef
  • Age : 17 ans
  • Messages : 1914
  • Inscrit : 10 Septembre 2005
  Lien vers ce message 16 Octobre 2006, 21:01
au fait mon probleme a moi c'est que je ne peux pas vraiment savoir combien de temps prends l'execution de ma fonction. enfin si je peux, mais mon pc c'est un P3 550mhz (jurasic park oui -_-') , et donc je sais pas combien ça prendra de temps chez toi geno (ou celui qui corrigera les scripts) . donc je pourrais rester a essayer d'optimiser alors que le probleme vient de mon proc et non de ma fonction

Enfin dans tout les cas j'envoi mon code ce soir, j'espere que ça ira ...

Yoursef
 
Equipe des MODS
Avatar de Grummfy
  • Age : 23 ans
  • Messages : 5410
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 16 Octobre 2006, 21:12
ben effectue des test de manière le plus rapide qu'il soit ....


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
http://www.grummfy.com/download/crea/smileys/fsb2.gif Mods fsb1 - Mods fsb2 - Mon forum - Grummfy's project
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14351
  • Inscrit : 16 Septembre 2004
Message édité 1 fois, dernière édition par Genova, 16 Octobre 2006, 21:22     Lien vers ce message 16 Octobre 2006, 21:21
De toute façon tout sera testé sur mon PC, donc tous les algos seront basé sur le même processeur ;)

PS : au fait vous avez aussi le droit à la fonction intval() ;)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Volcan
Avatar de burster
  • Age : 2208 ans
  • Messages : 1682
  • Inscrit : 19 Mars 2005
  Lien vers ce message 16 Octobre 2006, 21:23
De tout façon pour avoir essayé,

Genova devra lancer (par script c est facile) une dizaine de fois la même fonction et faire une moyenne du temps. Car j'ai remarqué qu'il peut y avoir une variation de 0.40 secondes quand même sur ma machine pour faire la même chose (juste un refresh). Sur une autre ça peut changer encore plus ou moins.


e-Traker
 
Equipe des MODS
Avatar de Grummfy
  • Age : 23 ans
  • Messages : 5410
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 16 Octobre 2006, 21:31
cela va de soit ....
le mieux est de le faire en mode console avec la mesure du temps mis dans un fichier log et puis faire une moyenne ....


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
http://www.grummfy.com/download/crea/smileys/fsb2.gif Mods fsb1 - Mods fsb2 - Mon forum - Grummfy's project
 
Equipe des MODS
Avatar de Grummfy
  • Age : 23 ans
  • Messages : 5410
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 16 Octobre 2006, 22:09
Citation (Genova)
Le script sera évalué tout simplement sur la rapidité de l'algorithme. Les algorithmes les plus simples sont pas forcément les plus rapides ;)

donc la taille mémoire utilisé par l'algorithme on s'en tamponne? Parce que bon ....


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
http://www.grummfy.com/download/crea/smileys/fsb2.gif Mods fsb1 - Mods fsb2 - Mon forum - Grummfy's project
 
Volcan
Avatar de burster
  • Age : 2208 ans
  • Messages : 1682
  • Inscrit : 19 Mars 2005
  Lien vers ce message 16 Octobre 2006, 22:22
Va y fait un buffer d'1 GO fait ramer la machine à Genova :mdr:


e-Traker
 
Equipe des MODS
Avatar de Grummfy
  • Age : 23 ans
  • Messages : 5410
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 16 Octobre 2006, 22:52
ben quoi...... c'est vrai après tout .... :sado:
[size=1]on peux savoir quel ram geno?[/size]

edit :
max(), min() peuvent'ils être utilisé?


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
http://www.grummfy.com/download/crea/smileys/fsb2.gif Mods fsb1 - Mods fsb2 - Mon forum - Grummfy's project
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14351
  • Inscrit : 16 Septembre 2004
Message édité 1 fois, dernière édition par Genova, 16 Octobre 2006, 22:55     Lien vers ce message 16 Octobre 2006, 22:54
Non pas de max() et de min() ;)

PS : c'est moi qui détermine la taille du tableau initial, pas vous ;) Donc inutile de vous soucier du buffer. De toute façon en PHP ca sera lourd, c'est juste pour le chalenge. j'ai programmé le même algo de tri en C et en PHP, en C il met 0.3 secondes là ou en PHP je met 8 secondes.


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Répondre


.