Reflexion sur optimisation

Reflexion sur optimisation

Bonjour.

Je viens expliquer un peu notre demarche sur le problme et les questions qui se soulve actuellement.

Nous sommes partis sur un constat simple, le problme tant d'abord la modlisation des nombres qui peuvent tre enorme.

Deux choix s'imposent, unsigned long long int ou bien une structure plus personnelle pour reprsenter les nombres comme des tableaux de chiffres.

Notre premier choix c'est port sur le tableau de chiffre car on gagne en vitesse pour vrifir un smallbrain number, pas besoin d'ffectuer une dcomposition en puissance de 10 pour rcuperer tout les digits du nombres, juste d'additionner les puissances des digits, mais en revanche l'opration de somme en elle mme perd en vitesse mme si l'xcution reste linaire.

Sans paralllisme, il faut environ 13 minute pour trouver les 29 premiers smallnumber. Or sur le topic des performance, goog_iceandmagic indique sans parallelisme galement qu'il ne lui faut qu'une dizaine de minute pour trouver le mme rsulat.

D'ou la question suivante : l'conomie de temps sur la dcomposition en puissance de 10 est elle assez rentable vis vis de la perte de temps sur l'addition ?

Y'a t-il d'autre personne ayant procd de la sorte ?

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Si j'ai bien compris votre problme, vous voulez viter de passer par une dcomposition en puissance de 10 en maintenant un tableau avec toutes les valeurs dedans? Ce qui veut dire que j'imagine que pour l'incrmenter vous commencez par incrmenter l'unit de poids la plus faible modulo 10 puis vous testez si elle est gale 0. Si oui, vous incrmentez de la mme manire l'unit de poids suprieur. Et vous voulez savoir si le temps que vous gagnez ne pas dcomposer compense le fait que vous perdez du temps re-calculer votre nombre? Deux rponses a :- Testez, vous verrez bien, c'est le seul moyen de savoir.- En fait l'addition supplmentaire que vous faites est inutile. Il vous suffit de dclarer une variable supplmentaire, de l'initialiser en mme temps et la mme valeur que votre tableau. Ensuite vous incrmentez simplement votre valeur de 1 chaque fois que vous appellez votre fonction d'incrmentation de structure. Comme a, pas besoin de sommer vos n digits, il suffit d'incrmenter une variable de 1...J'spre que a rpond votre question.

Bonsoir,

Sans paralllisme, il faut environ 13 minute pour trouver les 29 premiers smallnumber. Or sur le topic des performance,goog_iceandmagicindique sans parallelisme galement qu'il ne lui faut qu'une dizaine de minute pour trouver le mme rsulat.

Je me sens interpel, je me permets d'intervenir!Je ne suis pas fond, sur ce problme (mme si l'enjeu me tente ;) ) ... et puis, j'ai bien prcis, dans le post en question, que cela tait un premier jet de ma part ... c-a-d, l'implmentation la plus intuitive. Ayant l'esprit plus clair et le corp moins fatigu ce soir ... et grace quelques retouches, j'ai p l'amliorer ... je tombe sur les prvisions similaires celles detbastiani.--goog_iceandmagic

Leave a Comment

Please sign in to add a comment. Not a member? Join today