|
Comparaison Recherche Zone mémoire et structure (Source 5.5!) |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Bonjour, je voudrais faire une comparaison de résultat entre la Version 5.5 (Code ci-dessous) et la version 10 (ou même la 9). Je trouve un rapport de plus de 8 en faveur de la recherche dans la structure. Je suis très étonné du résultat. Je rappelle que j'ai réalisé ce test sur la V5.5 et que je souhaiterai avoir les valeurs pour comparer avec la V10. Je n'ai pas encore accès à cette version. Merci par avance.
// Déclaration
W_S_CODE est une structure
Code est une chaine
FIN
W_T_Code est un tableau dynamique de 0 W_S_CODE
W_C_Zm est une chaine = "ZM_test"
i est un entier long
J est un entier long
W_C_Val est une chaine
W_C_Retour est une chaine
W_C_HeureDeb est une chaine
W_C_HeureFin est une chaine
Memcrée(W_C_Zm)
Dimension(W_T_Code,1000000)
pour i = 1 A 1000000
// Zone mémoire
W_C_Val = i
Memajoute(W_C_Zm,W_C_Val,W_C_Val)
// Structure
W_T_Code[i]:Code = W_C_Val
FIN
INFO("chargé")
pour i = 1 à 1000000 pas 25000
// Structure
W_C_HeureDeb = Heuresys()
W_C_Val = i
pour j = 1 A 1000000
si W_T_Code[J]:Code = W_C_Val alors
sortir
FIN
FIN
W_C_HeureFin = Heuresys()
trace("S",i,heuredifference(W_C_HeureDeb,W_C_HeureFin))
// Zone mémoire
W_C_HeureDeb = Heuresys()
W_C_retour = Memrecherche(W_C_Zm,W_C_Val)
W_C_HeureFin = Heuresys()
trace("M",i,heuredifference(W_C_HeureDeb,W_C_HeureFin))
FIN
Memsupprimetout(W_C_Zm)
Contribution le : 28/03/2006 17:36
|
_________________
Mbsl
|
|
Re: Comparaison Recherche Zone mémoire et structure (Source 5.5!) |
|
Inscrit: 19/11/2002 12:20
Post(s): 390
|
J'ai fait les tests et suis arrivé aux mêmes conclusions... Néanmoins, j'ai également testé les fonctions sur les tableaux:
toto est un tableau dynamique toto=allouer un tableau de 100000 chaînes W_C_Retour = TableauCherche(toto,tcLinéairePremier,W_C_Val)
En fait on a le choix entre pas mal de paramètres pour les recherche sur tableau: tcLinéairePrécédent tcLinéairePremier tcLinéaireSuivant tcLinéaireDernier tcLinéaire tcDichotomique (seulement sur un tableau trié et sans doublon)
Niveau résultat dans le cas d'espèce certains paramètres ne retournent pas de valeur (linéairesuivant et linéaireprécédent).
En revanche niveau vitesse donc sur un tableau non trié et tcLinéaire on arrive à être rois fois plus rapide que la structure. Si on trie le tableau pour utiliser la dichotomie, on tombe carrément à "0".
Bref, je confirme vos résultats, mais y'a moyen de faire nettement mieux sous Windev 9 ;)
Contribution le : 29/03/2006 11:44
|
|
|
Re: Comparaison Recherche Zone mémoire et structure (Source 5.5!) |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Merci de votre réponse.
Contribution le : 29/03/2006 11:59
|
_________________
Mbsl
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.