Bonjour à tous,
J'ai une petite question sur laquelle je planche mais j'ai le plus grand mal à trouver une solution.
Voila j'ai un script qui monte en mémoire plusieurs centaines de milliers (voir des millions) d'entrées dans un tableau. Jusque là tout va bien.
Ce tableau est ensuite utilisé pour récupérer une valeur aléatoirement dans la liste. J'ai donc une petite boucle qui vient toutes les secondes récupérer toutes les secondes la taille du tableau, je fais ensuite un rand la dessus, et récupère la valeur associé à cet index :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 my $nb_value = $#tab + 1; my $index = rand($nb_value); my $val = $tab[$index];
Mon problème vient donc lorsque le tableau a qques millions d'entrées. Cela met plus de 10 sec à calculer la taille du tableau. Sur une boucle qui passe toutes les secondes, 10 sec de traitement ça fait beaucoup.
Il y a-t-il une solution pour calculer rapidement la taille du tableau ?
J'ai pensé à calculer la taille du tableau avant la boucle, et la mettre dans $tab[0]. Mais vu que la taille de tableau évolue dans le temps ($nb_value --) , j'aurais aimé connaitre une solution facile pour le calcul de la taille du tableau.
D'avance Merci
Partager