Salut à tous,
J'ai développé un algo en php qui permet de faire des calculs mathématiques. Sans rentrer dans le détail, l'algo génère des millions de variables en array(). Ces variables sont des entiers.
Au final, l'algo alimente un fichier texte avec les résultats (60mo de texte, de nombres entiers à la suite).
Mais le souci c'est que ces millions de variables consomment à mort la mémoire vive et je plafonne rapidement à 16go (la RAM totale de mon PC) du coup après ça swap sur le disque dur et ça ralenti beaucoup le script.
Je suis étonné que des variables (qui ne sont que des séries de nombres), même si elles sont très nombreuses, consomment 16Go de RAM ...
Y a t il un moyen de diminuer cette consommation (outre le fait de modifier l'algo, car je suis déjà en train de réfléchir à ça et j'ai déjà pas mal optimisé mais je ne peux pas me passer de ces millions de variables générés, qui sont au coeur du système). En fait j'ai plutôt 1 seule variable mais en array(), qui comporte des millions de lignes. $var[0], $var[1], $var[2], $var[3], etc ... jusqu'à $var[quelques millions]. En fait, dès que je dépasse $var[20 000 000], ça commence à swaper sur le hdd.
Et si je change de langage pour cet algo, je peux remédier à ça ? Si oui, quel langage serait le mieux ?
Merci d'avance pour votre aide.
Message édité par zbineulongtime le 13-02-2016 à 11:02:16