begin process at 2012 02 11 18:05:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Augmenter vitesse d'exécution


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Augmenter vitesse d'exécution

jeudi 23 décembre 2004 à 13:21:47 | Augmenter vitesse d'exécution

scelw

Bonjour,

Je "m'amuse" avec des nombres premiers de très grande taille. Le temps d'exécution de mon programme est très long. Pour aboutir, il faut souvent de 2 à 4 semaines. J'ai optimisé l'algo à fond! (avec l'aide du concepteur de la librairie que j'utilise : NTL. voir www.shoup.net/ntl/)

Je cherche donc à "recenser" les différents moyens qui pourraient me permettre de grapiller un peu de temps. Hélas, je n'y connais presque rien en hardware...
Je fais appel à vous : quelles sont les solutions pratiques pour augmenter la vitesse d'exécution d'un programme ?

J'ai pensé à la mémoire RAM... est-ce utile?
J'ai aussi pensé au cache... est-ce que ça peut faire qqchose?
Je sais qu'il faut aussi combiner au mieux le couple Carte Mère (CM) - Processeur. Ainsi un gros processeur P4 équipé d'une CM à 133 MHz n'aura que de maigres performances... mais un proc à 1 GHz doublé d'une CM à 800 MHz pourra donner toute sa puissance.
(Corrigez-moi si je me trompe.)
Il existe aussi l'overcloking. (Mais bon, ça génère des erreurs et c'est pas souhaitable dans le cas de "calculs purs"...)

Merci pour vos idées!
jeudi 23 décembre 2004 à 14:13:15 | Re : Augmenter vitesse d'exécution

plus_plus_fab

salut,

Si tu as optimisé l'algo avec le concepteur de NTL, il n'y aura vraisemblablement pas grand chose à ajouter ... Sait-on jamais, essaye d'utiliser un profiler pour voir ou ton programme passe son temps.
Compile avec un gcc 3.4.* dernier cri, utilise les bonnes optimisations (voir ce qu'apporte l'inlining) et les options d'architectures.
Ensuite pour le matériel, rajouter de la RAM seulement si tu entends ton disque swapper, sinon pas la peine. Plus la RAM fonctionne à une fréquence importante, mieux c'est.
Pour le cache, oui, ça influ pas mal, mais en aveugle, c'est difficile à quantifier ...

Je crois que tu te trompe pour l'histoire du couple carte mere - processeur, tu mélange un peu avec l'overclocking. En gros, on essaye d'augmenter la fréquence à laquelle peut tourner le processeur. cette fréquence est égale au produit du multiplicateur par la fréquence de bus de données. En générale, on essaye d'augmenter la fréquence du bus de données. Il faut ensuite abaisser les timing RAM et éventuellement augmenter le voltage (VI/O). Tu perds en stabilité, c'est clair !
Si tu as d'autres moyens, tu peux paralléliser ton calcul. Faire du multithread si tu as un multiprocesseur, ou simplement si ton appli réalise beaucoup d'E/S. Faire communiquer des processus si tu disposes d'un cluster.
jeudi 23 décembre 2004 à 15:47:14 | Re : Augmenter vitesse d'exécution

alphaone

fait ctrl alt suppr et voit si la ram est emtiérement ramplit pour voir est que tu as bession de plus de ram.
Mais j'ai déja travaillé sur des projet comme ça mais en général c'est toujour le processeur qui limite. regarde sur internet les projet similaire tourne sur de gros processeur.
si tu as plusieur pc tu peut faire une application qui sert de serveur pour coordonée les calcule. et des client qui les font.
Ou utilise un bi-processeur mais dans son application il faut découper les calcules en faisant des threads.
bye!
Bon courage tiens moi au courant de ce projet: alpha.super-one@laposte.net .
Pour quoi as tu besion de faire ça? A quoi ça te sert? moi je connait tout les nombre premier de 0 à 200, c'est déja pas mal!
jeudi 23 décembre 2004 à 18:02:37 | Re : Augmenter vitesse d'exécution

plus_plus_fab

"si tu as plusieur pc tu peut faire une application qui sert de serveur pour coordonée les calcule. et des client qui les font."
oui, c'est la solution systemes distribués que je n'ai pas évoqué. C'est la moins performante en terme de rapidité de communication, mais la moins chère, la plus portable puisque les machines peuvent etre sur des OS différents, et évidemment celle qui permet de rassembler le plus de machines.
mercredi 19 janvier 2005 à 16:44:06 | Re : Augmenter vitesse d'exécution

scelw

mon projet avance à petits pas mais ça avance. j'ai changé de machine, j'ai gagné un facteur 8 grâce à un processeur Athlon 1.8 GHz (j'étais avant sur un Pentium 333 MHz).
RAS... :)



Cette discussion est classée dans : temps, augmenter, aussi, exécution, vitesse


Répondre à ce message

Sujets en rapport avec ce message

temps d'exécution d'un processus (c/linux) [ par davidauche ] bonjour a tt monde,comment calculer le temps d'exécution d'un processus en c sous linux!?j'essaie avec time et times  + struct tms marche pas! tjrs me opérations matrice /temps exécution prg [ par 0wil0 ] Bonjour, J'effectue dans mon programme des opérations relativement simples sur des matrices (additions, soustractions, moyenne des éléments de matrice problème de vitesse d'exécution d'un programme [ par milowen ] salut tout le monde J'ai développé un petit programme (1) en ligne de commande avec visual c++ et j'ai voulu faire une interface pour rentrer plus Optimisation des intersections et des unions [ par islem1982 ] Salut tout le monde,Je suis en train de programmer un algorithme qui effectue un nombre énorme d'unions entre des ensembles ordonnés (ordre lexicograp mesure de temps d'exécution [ par ezneti ] Bonjour tout le monde, Je veux faire la mesure de temps d'exécution d'un programme (de traitement d'image)developpé en C sur un processeur bien determ [Directx] Deplacement et vitesse d'une balle selon le cpu ? [ par skeleton ] Salut, voila mon probleme je me test avec directx en faisant un casse brique mais voila que je tombe sur un probleme (qui commence a me faire rager et calcul du temps d'exécution d'un programme en c++ builder 6 [ par aylan ] comment faire un programme qui calcul le temps d'exécution d'un programme en c++ builder 6. j ai utilisé une fonction Timer ça n a pas marché. Automatiser des ouvertures de fichiers [ par fred100582 ] Salut,Voila j'ai un dossier qui contient plusieurs dizaines de fichiers excel contenant des temps d'exécution d'un programme et je voudrais pouvoir to keylogger [ par n3ls00n ] Bonjour tout le monde, Je cherche a coder un keylogger, mais voila, vu que j'ai pas le temps, je prefere passer par ici. je sais pas si j'ai le droit


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales