Temps d'exécution du MD5 - Algo - Programmation
Marsh Posté le 24-05-2009 à 19:30:38
bah tu codes et tu benches quoi ... ca depend de 'larchi, de l'implantation, du langage etc ...
Marsh Posté le 25-05-2009 à 11:04:38
Euh... J'y connais rien à vrai dire.
Jcode quoi >.< ? Pourquoi ça dépendrait du langage? Y'a le MD5 et puis c'est tout... Par contre jveux bien que ça dépende de la puissance de l'ordi. -_-"
Jfais pas d'info vraiment encore alors jdois avoir l'air d'un poisson hors de l'eau là
Marsh Posté le 25-05-2009 à 11:33:48
ben du javascript, ça va pas aussi vite que du C vu que l'un est interprété et l'autre compilé Et l'asm va plus vite que le C en général car plus optimisé. Mais du javascript sur firefox 3 va plus vite en général que sur firefox 2 car le moteur de FF3 a été optimisé (pour les boucles par ex).
Donc, pour ton bench, faudra dire dans quelles conditions t'as fait le test. Du reste, sur HFR (ou n'importe quel autre site de test de matos j'imagine) ils disent toujours le matos qu'ils ont pris pour tester une carte graphique ou un autre matos...
Marsh Posté le 25-05-2009 à 11:39:53
Vouai c'est pas pratique... Mais ça change beaucoup beaucoup? Y'a pas moyen de faire une moyenne?
Marsh Posté le 25-05-2009 à 11:39:55
rufo a écrit : |
Non, merci d'arrêter de propager cette FUD
Marsh Posté le 25-05-2009 à 12:02:27
Lytho a écrit : Vouai c'est pas pratique... Mais ça change beaucoup beaucoup? Y'a pas moyen de faire une moyenne? |
http://shootout.alioth.debian.org/ [...] hino&box=1
Marsh Posté le 25-05-2009 à 12:04:19
Joel F a écrit : |
On m'aurait menti? En école d'ingé, mon prof de traitement d'image m'avait dit que l'asm était plus rapide que le C et qu'au besoin, certaines parties de programmes pour de la reconnaissance de forme étaient codé en asm pour accélérer le traitement...
Marsh Posté le 25-05-2009 à 12:08:30
Mdr. Bon jpige rien. Jsais même pas ske désigne bench.
Le seul truc que j'aurais voulu c'est un truc du genre "vitesse de 1800Mbits/sec" sur tel processeur à la pointe actuelle, no sé.
Tant pis, merci dvotre aide quand même =)
Marsh Posté le 25-05-2009 à 13:19:13
ce qui fait varier la vitesse d'exe d'un algorithme :
- l'architecture du processeur (fréquence, mémoire cache, prédiction de branchements et j'en passe...) et éventuellement d'uatres éléments de l'ordinateur (ram, HDD...)
- le langage de programmation et s'il est compilé, interprété...
- la façon dont est implémenté l'algo : optimisations par rapport au langage et à l'architecture de l'ordinateur, comme les instructions SSEE ou 3dnow, si l'algo est threadé (pour les cpu multi-cores)...
Donc tu vois, y'a pleins de paramètres à prendre en compte. Et un bench, c'est un ou plusieurs tests de perfs qu'on fait passer à un ou plusieurs éléments qu'on veut évaluer (PC entier, cpu, différentes implémentations d'un même algo, langages de programmation...).
Marsh Posté le 25-05-2009 à 13:52:44
rufo a écrit : |
oui on t'as menti. C'était vrai en 1650 quand les compilos etait relaivement peu efficace. Maintenant, la difference de temps est négligeable ... Encore un prof bien à jour :E
Marsh Posté le 25-05-2009 à 15:13:06
Et si on considère le programme MD5 Lambda téléchargeable ici http://www.commentcamarche.net/tel [...] 055119-md5 ... On procède par invité de commandes etc...
Tu saurais me donner un ordre de grandeur pour ton pc par exemple de l'exécution du programme? (en partant du principe que ton pc est ds une moyenne actuelle ;o) .
J'ai finalement besoin de savoir que pour ce programme là...
Marsh Posté le 08-06-2009 à 12:07:03
sur mon pc, Calculs moyens par seconde : 326834.76868269 (avec microtime())
Marsh Posté le 15-06-2009 à 17:52:50
Petite contribution malgré le style sms :
Sinon tu regarde l'algo, tu compte de nombre d'additions/multiplications en fonction du mot (ou de la taille du fichier ou de je ne sis quoi de pertinent), et t'en déduis la complexité, qui est indépendante de la machine/language utilisé.
Marsh Posté le 15-06-2009 à 18:00:56
Joel F a écrit : bah tu codes et tu benches quoi ... ca depend de 'larchi, de l'implantation, du langage etc ... |
implémentation
Mais à part ça, eres correcto (d'ailleurs j'avais vu il y a quelques temps un post sur le MD5 de base de freebsd qui était 20% plus lent que celui d'OpenSSL)
Et si vous étudiez MD5 votre prof vous a rappelé qu'il avait été complètement craqué et qu'il ne fallait surtout pas l'utiliser? et que SHA-1 vient de tomber (collision en 2^52)
Joel F a écrit : Non, merci d'arrêter de propager cette FUD |
Bah pour un bout de code spécifique ça reste vrai, de même que "le C est plus rapide que le Java"
Marsh Posté le 15-06-2009 à 19:27:54
masklinn a écrit : Et si vous étudiez MD5 votre prof vous a rappelé qu'il avait été complètement craqué et qu'il ne fallait surtout pas l'utiliser? et que SHA-1 vient de tomber (collision en 2^52) |
C'est quoi d'ailleurs en ce moment le plus sécurisé ?
Marsh Posté le 15-06-2009 à 19:32:23
Deamon a écrit : |
La famille SHA-2 et RIPEMD-160, en attendant SHA-3 (vers 2012)
Marsh Posté le 15-06-2009 à 23:44:15
masklinn a écrit : |
T'es meilleur qu'un algo d'analyse statique pr derouler le pipeline et allouer tes registres ? Chapeau bas mais j'y crois guère.
Et merci de pas me sortir des algo jouet de 5 lignes
Marsh Posté le 15-06-2009 à 23:49:23
Joel F a écrit : T'es meilleur qu'un algo d'analyse statique pr derouler le pipeline et allouer tes registres ? |
Moi non. Un mec qui s'y connaît bien en ASM pourquoi pas? S'il a une vue d'ensemble de son programme il peut avoir une vue haut niveau du système que le compilo n'aura pas, ou il peut connaître des tricks trop dangereux ou avec trop peu d'intérêt pour être collés dans un compilo
Si l'exemple C vs Java te va pas, on peut aller avec C vs Haskell à la place, dans la mesure où ghc peut sortir du C
Marsh Posté le 16-06-2009 à 08:20:52
masklinn a écrit : |
Moi j'en suis pas sur des que le code devient complexe. Et du code complexe ca arrive vite.
Marsh Posté le 16-06-2009 à 12:49:14
Joel F a écrit : |
Même pas complexe: si t'as une arch avec une poignée de registres, ça va à peine, ton cerveau peut à peu près gérer, mais sur une arch avec 32<->128 registres, j'y crois plus du tout.
Marsh Posté le 24-05-2009 à 17:01:44
Bonjour,
Bon jsuis nouveau sur le forum... Et j'ai une question dont je ne connais pas le niveau d'intérêt...
Je fais actuellement un TIPE sur les fonctions de hachage et on étudie le MD5. Et mon prof m'a demandé à quelle vitesse le MD5 computait... Est-ce que vous auriez un ordre de grandeur à donner, avec une unité intéressante ? =)
Ou comment faire pour connaître le temps d'exécution du MD5?
Quelque chose d'intéressant serait de connaître le nombre de mots d'une taille moyenne à 5 lettres hachés par seconde, ou de phrases d'une dizaine de mots...
Merci d'avance