Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1564 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Page Suivante
Auteur Sujet :

[Concours No 3] A vos cerveaux !

n°777754
Tentacle
Posté le 25-06-2004 à 12:33:06  profilanswer
 

Reprise du message précédent :

darkoli a écrit :

Le type des entier pour le tableau table est très important et cela permet de diviser par 4 le temps de traitement (de ~800ms à ~200ms) ! :ouch:


 
C'est ce que j'avais remarqué aussi. Si on passe en int, les meilleurs performances étaient obtenus en divisant par 10000 ce qui faisait un calcul supplémentaire. En 100000, malgré l'opération en moins, le temps d'exécution était trop augmenté, d'où le fait de passer en short int.

mood
Publicité
Posté le 25-06-2004 à 12:33:06  profilanswer
 

n°777768
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-06-2004 à 12:43:19  profilanswer
 

christophe_d13 a écrit :


PS: Ce concours au final ne sert pas à grand chose (pour ce problème), il serait peut-être plus interressant dans l'avenir de proposer des problèmes plus utiles (des problèmes que l'on rencontre souvent par exemple).
On pourrait également faire 1 ou 2 concours par mois ?


Pour le prochain, je propose le concours du traceur de Mandelbrot le plus rapide :o


---------------
J'ai un string dans l'array (Paris Hilton)
n°777773
Yttrium
Furtif
Posté le 25-06-2004 à 12:47:19  profilanswer
 

christophe_d13 a écrit :

PS: Ce concours au final ne sert pas à grand chose (pour ce problème), il serait peut-être plus interressant dans l'avenir de proposer des problèmes plus utiles (des problèmes que l'on rencontre souvent par exemple).
On pourrait également faire 1 ou 2 concours par mois ?


 
J'ai trouvé ce concept génial et je me suis attaché à essayer de résoudre ce problème avec les outils que j'utilise couramment. Malheureusement j'utilise C#, qui est un langage managé. Donc, en termes de prefs brutes, c'est pas génial pour ce type d'application et je n'arriverai pas à atteindre les temps que vous avez  réalisés.
 
En revanche, je continue à rechercher des solutions, et j'ai découvert tout un tas de trucs (ou plutôt des questions, pour l'instant) sur les optimisations faites par le compilateur. Au départ, sur ma machine (un P4-M 2Ghz / 400Mhz), j'ai obtenu presque le même timing que black_goddess, avec un algo quasi identique. Je me suis vite rendu compte qu'il y avait du temps à grapiller sur la division, le modulo et d'autres opérations effectuées par l'environnement d'exécution.
 
J'ai donc codé une division à la main, avec des bit shifts, je suis passé en mode non managé pour la partie des calculs, etc.
 
Actuellement, je suis descendu vers 1.3 - 1.5 sec.
 
Je vais essayer de trouver des solutions pour parvenir en-dessous de 1 seconde, mais je pense que ça sera difficile.
 
En tout cas, ça aide à maîtriser son langage dans le menu !!
 
Donc oui !! Je suis complètement partant pour de nouvelles aventures !!

n°777986
red factio​n
Posté le 25-06-2004 à 14:25:29  profilanswer
 

darkoli a écrit :

Tiens j'ai essayé de faire la même chose avec la division par 10 mais il y avait une perte trop importante, pour diviser N par 10 je faisais N = (N>>16)+(N>>32)+(N>>128) ce qui correspondait à N / ~9.84615384615. Mais je n'avais pas eu l'idée de le faire pour la découpe des nombres (/ et % 100000)!
 
Par contre le gain est à peine de 10% sur ma machine : ~240ms.
=> Athlon XP 2100+, DevCPP, XP.
Je teste demain matin sur mon P4 1.7Ghz (boulot).


 
ben oui a mon avis ca sert pas a grand chose de convertir une div entiere en une somme de decalages car c de toute facon ce qui sera fait par le processeur en interne

n°777988
blackgodde​ss
vive le troll !
Posté le 25-06-2004 à 14:27:04  profilanswer
 

chui partant pour de nouveaux concours aussi :)


---------------
-( BlackGoddess )-
n°778035
Yttrium
Furtif
Posté le 25-06-2004 à 14:44:26  profilanswer
 

BlackGoddess a écrit :

chui partant pour de nouveaux concours aussi :)


 
En tout cas, tu as été rapide à poster sur ce coup-là ! :jap:

n°778058
red factio​n
Posté le 25-06-2004 à 15:07:10  profilanswer
 

Allez assez rigolé demain on s'attaque a loptimisation d'un prog de b*** f**** de MD5  
 
 
ok je sors :whistle:

n°778067
blackgodde​ss
vive le troll !
Posté le 25-06-2004 à 15:15:30  profilanswer
 

bin le dernier j'avais pas compris l'énoncé :p


---------------
-( BlackGoddess )-
n°778132
Jubijub
Parce que je le VD bien
Posté le 25-06-2004 à 15:52:10  profilanswer
 

c bo des gens qui maitrise l'algorithmique...


---------------
Jubi Photos : Flickr - 500px
n°778877
YodaNC
Posté le 26-06-2004 à 01:19:12  profilanswer
 

<YodaNC@cite>time ./a.out
0, 7039934      occurences
1, 6919549      occurences
2, 4821073      occurences
3, 4474832      occurences
4, 4473815      occurences
5, 4457929      occurences
6, 4454968      occurences
7, 4451157      occurences
8, 4450771      occurences
9, 4455972      occurences
0.664u 0.000s 0:00.66 100.0%    0+0k 0+0io 0pf+0w
 
 
avec un code pas optimmise (mais pas de gestion des 0 non significatifs :whistle:)

mood
Publicité
Posté le 26-06-2004 à 01:19:12  profilanswer
 

n°778919
Yttrium
Furtif
Posté le 26-06-2004 à 05:27:47  profilanswer
 

YodaNC a écrit :

<YodaNC@cite>time ./a.out
0, 7039934      occurences
1, 6919549      occurences
2, 4821073      occurences
3, 4474832      occurences
4, 4473815      occurences
5, 4457929      occurences
6, 4454968      occurences
7, 4451157      occurences
8, 4450771      occurences
9, 4455972      occurences
0.664u 0.000s 0:00.66 100.0%    0+0k 0+0io 0pf+0w
 
 
avec un code pas optimmise (mais pas de gestion des 0 non significatifs :whistle:)


 
Euh... Ben ta solution ne répond pas au problème posé... ;) S'il ne fallait pas gérer les 0 non significatifs, nous serions tous parvenus à de meilleurs résultats.

n°778943
YodaNC
Posté le 26-06-2004 à 10:43:27  profilanswer
 

Yttrium a écrit :

Euh... Ben ta solution ne répond pas au problème posé... ;) S'il ne fallait pas gérer les 0 non significatifs, nous serions tous parvenus à de meilleurs résultats.

v rajouter la gestion


---------------
[VDS] Pentax: Grip K10/K20, accessoires ...
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Le concours de programmation ICFP 2004 a commencé[Concours] Recherche de doublons dans une séquence
[java/algo] Concours - implémenter une itf simple de gestion d'agenda.[IA] petite idée de concours
concours de code[C++] Concours de code : new test en cours, proposez votre solution !
Concours programmation[PHP] Comment organiser un concours
organiser un concours .[Concours] Votre Requête MySQL la plus complexe
Plus de sujets relatifs à : [Concours No 3] A vos cerveaux !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR