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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2