Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

CHaine vers tableau de Byte : RESULTATS

1 réponse
Avatar
Jean-Marc
Hello chers collègues,

Voici comme promis les résultats. Tout est expliqué et
détaillé ici, avec de jolis graphiques:
http://myjmnhome.dyndns.org/bench/benchcpm.htm

En résumé:
----------

- CopyMemory() est le grand gagnant, pourvu que l'on déclare
la destination en "As String" et pas en "As Any".

- J'ai fait une Dll en C qui donne des résultats comparables,
voire un tout petit peu mieux.

- Le Cast explicit avec StrConv() est aussi très rapide, mais
quand même une fois et demi plus lent que les 2 premières.

- Enfin, par rapport à l'implémentation naïve que j'avais faite,
l'usage de ces fonctions/méthodes permet un gain de performance
d'un facteur 35, ce qui est énorme.

- SafeArray: surement très rapide (voir le bench) mais pas directement
exploitable dans mon cas. Ceci dit je vais creuser l'idée car les
performances sont impressionantes.

Un grand merci à tous :-)

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr

1 réponse

Avatar
Jean-Marc
Hello à tous,

j'ai complété mes tests de copie de string. La méthode indiquée
par François (SAFEARRAY) est effectivement la meilleure, puisqu'elle
est 8 fois plus rapide que la meilleure des fonctions (copymemory).

Par rapport à l'implémentation naïve, on gagne un facteur 280 !

Tous les résultats mis à jour ici:
http://myjmnhome.dyndns.org/bench/benchcpm.htm




Encore merci à François et Jacques :-)

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;