Tfe

Ongi etorri tfe-ren webgunera...

Old stuff/Perl/svn/scrabble/trunk/tests/Benchmarks/CHECK_WORD

(Deskargatu)
Objectif des tests : 
Trouver, pour le dictionnaire, quelle structure et quelle m�thode d'acc�s permettraient les meilleurs performances 
selon nos crit�res. Nous utiliserons le module Benchmark::Timer et notre unique crit�re est pour le moment le temps d'ex�cution.

Id�es  : 

A] Premi�re s�rie de tests : choix de l'algo et de la structure

1)
- load_dictionnary() : mettre les mots dans un simple array
- check_word() : faire une recherche dichotomique

2) 
- load_dictionnary() : mettre les mots dans un simple array et renseigner un hash qui fasse correspondre � chaque lettre de l'alphabet
l'indice du tableau du dictionnaire pour lequel elle apparait la premi�re fois en position de premi�re lettre.
- check_word() : faire une recherche dichotomique non plus sur le dictionnaire complet comme dans 1) mais sur la tranche 

@words[$indexes{$printf("%.1s", $word)} .. $indexes{cle_suivante}] => voire du c�t� de Tie::IxHash pour pouvoir aller chercher la cl� correspondant
� la lettre cons�cutive. Peut-�tre qu'on peut faire des slices d'instances d'objet de Tie::IxHash => A VOIR
Sur la bonne tranche (slice), on proc�derait � une recherche dichotomique.


3) 
- load_dictionnary() : mettre les mots dans un simple array et renseigner un hash qui fasse correspondre � chaque lettre de l'alphabet
 tous les indices du tableau du dictionnaire pour lequel elle apparait en position de premi�re lettre.
- check_word() : faire une recherche dichotomique sur la tranche ci-dessous : @words[@{$indexes{printf("%.1s",$word)}}] 


4)
- load_dictionnary() : mettre les mots dans un simple hash 
- check_word() : faire une recherche au moyen de la fonction exists()

5) 
- load_dictionnary() : mettre les premi�res lettres dans un hash, et faire des arrays de mots dans la valeur correspondante pour lesquels
la premii�re lettre correspond � la cl�.
- check_word() : recherche dichotomique sur @{ $ce_hash{$first_letter} } ...

B] Seconde s�rie de tests : choix de hacks sur la structure choisie � l'issu de la premi�re s�rie de tests ( genre modules perl existant )