[unit] romanutils, tout pour convertir les chiffres romains vers les entiers et inversement

Soyez le premier à donner votre avis sur cette source.

Vue 21 483 fois - Téléchargée 656 fois


Description

Aprés quelques heures de travail, voici le resultat final du tout premier algorythme que j'avais fait.

voici donc l'unitée RomanUtils qui permet de convertir les chiffres romain (strict) vers des entiers et inversement.

En esperant que tout cela vous serat utile et BONNE NOUVELLE pour une fois il y'a un Zip avec mon code!
Egalement dans le Zip, une petite application (RomanUtilsTest) pour montrer l'utilisation de l'unité RomanUtils,
avec en cadeaux, la Date du jours en chiffre romain! (hahaha ... pardon ...)

ps1 : voir le fichier .chm pour l'aide
ps2 : pas de commentaire dans la source pour le moment, a venir...

Conclusion :


Pour toute questions, suggestions, amelioration, postez la sur ce sujet.

Possibilitée de mise a jours ... plus tard ...

Remerciements :
a Florenth pour ses bonne idées et ses suggestions de code.

FAFQ (Frequently Asked Funny Question):

- Avec quoi tu code ? avec Delphi 7 et mes doigts.
- Avec quoi tu fait les chm ? avec HTML Help Workshop de microsoft.
- Avec quoi tu fait tes zip ? avec l'excelent 7-Zip.
- Avec quoi on fait un Croc-Steak ? avec deux tranches de pain de mie, un bon gros steak haché et beaucoup de gruiyere. MIAM (j'ai faim!)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
58
Date d'inscription
mercredi 17 décembre 2003
Statut
Membre
Dernière intervention
16 février 2011
3
Bon travail!

Je l'ai d'ailleur porté en java : http://www.javafr.com/codes/VERSION-JAVA-ROMANUTILS-TOUT-CONVERTIR-CHIFFRES-ROMAINS-VERS_44548.aspx

(J'ai tenu a respecter la source d'origine autant que possible)...
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
HAPPY ANNIVERSAIRE LA SOURCE !!
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
HAHA!

bonne nouvelle aprés gros reflechissage :

nouvelle données des benchs :

> 5 x 100 000 RomanToInt : moyenne 56ms
(total 282ms pour 500 000 requettes, plus rapide 47ms, plus longue 63ms)
gain ~78%
dont 22ms sont due a IsRomanNumber(STR), si on supprime la verification on descend donc a 34ms pour 100 000 requettes soit un gain de ~120%

> 5 x 100 000 IntToRoman : moyenne 84ms
(total 421ms pour 500 000 requettes, plus rapide 78ms, plus longue 94ms)
gain ~25%

ce qui donne des temps de moins d'une seconde pour traiter 1 millions de requettes.
ce qui est largement raisonnable je pense.

je mets donc a jours l'unitée en Version 1.2i (i pour improved) ^^
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
en effet, j'ai tester egalement de mon coté :

Athlon 1800+ 1.53Ghz, DDR PC2100 2x133Mhz,
Process load 22, CPU Charge 20-40% (firefox)

RomanBench process mode : Real Time

> 5 x 100 000 RomanToInt : moyenne 441ms
(total 2203ms pour 500 000 requettes, plus rapide 437ms, plus longue 453ms)
CPU Burn Charge : 58%
VERDICT : reglo. on pourrait encore ameliorer ... Assembleur ? ^^

> 5 x 100 000 IntToRoman : moyenne 213ms
(total 1063ms pour 500 000 requettes, plus rapide 203ms, plus longue 219ms)
CPU Burn Charge : 27%
VERDICT : vraiment reglo.

> 5 x 200 000 IsRomanNumber (str) : moyenne 22ms
(total 109ms pour 1 000 000 requettes, plus rapide 15ms, plus longue 31ms)
CPU Burn Charge : 8%
VERDICT : carrement reglo.

> 5 x 200 000 IsRomanNumber (int) : moyenne 0ms
(total 0ms pour 1 000 000 requettes, plus rapide 0ms, plus longue 0ms)
CPU Burn Charge : 0%
VERDICT : no comment.

j'avais jamais penser a tester comme ça ... les resultat parlent d'eux memes.
Excuse moi. Tu l'auras vu dans le code, les performances données sont vraies pour 100000 (cent mille) executions et non 10000 (dix mille) comme je l'avais dit
Afficher les 15 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.