Dans le programme que j'essaie d'écrire, je vais me retrouver en
condition réelle avec une matrice de 15000x15000.
Est-ce perl affecte la place pour toute la matrice en mémoire, auquel
cas, ca va être énorme, ou est-ce qu'il ne place que les cases
attribuées ? Parec que en fait, il y a peu de cases remplies.
Si c'est la première solutions, auriez vous une idée pour gagner de la
place en mémoire ? Un autre type à utiliser, ou un objet déjà existant
pour ce genre de problèmes ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Klaus
"TEXTORIS Julien" wrote in message news:42edd8a9$0$6697$
Bonjour,
Dans le programme que j'essaie d'écrire, je vais me retrouver en condition réelle avec une matrice de 15000x15000. Est-ce perl affecte la place pour toute la matrice en mémoire,
pour une table: oui pour un hashage: non
auquel cas, ca va être énorme, ou est-ce qu'il ne place que les cases attribuées ? Parec que en fait, il y a peu de cases remplies.
Si c'est la première solutions, auriez vous une idée pour gagner de la place en mémoire ? Un autre type à utiliser, ou un objet déjà existant pour ce genre de problèmes ?
Tu peux utiliser un "hashage de hashage": voir http://perl.enstimac.fr/DocFr/perldsc.html#hachages%20de%20hachages
l'exemple suivant n'utilise que la mémoire pour 3 nombres: =========================== use strict; use warnings;
for my $x (sort keys %Matrix) { for my $y (sort keys %{$Matrix{$x}}) { printf "Matrix[%4d, %4d] = %8.3fn", $x, $y, $Matrix{$x}{$y}; } } =========================== -- Klaus
"TEXTORIS Julien" <julien.textoris@free.fr> wrote in message
news:42edd8a9$0$6697$626a14ce@news.free.fr...
Bonjour,
Dans le programme que j'essaie d'écrire, je vais me retrouver en
condition réelle avec une matrice de 15000x15000.
Est-ce perl affecte la place pour toute la matrice en mémoire,
pour une table: oui
pour un hashage: non
auquel cas, ca va être énorme, ou est-ce qu'il ne place que les
cases attribuées ? Parec que en fait, il y a peu de cases remplies.
Si c'est la première solutions, auriez vous une idée pour gagner de la
place en mémoire ? Un autre type à utiliser, ou un objet déjà existant
pour ce genre de problèmes ?
Tu peux utiliser un "hashage de hashage":
voir http://perl.enstimac.fr/DocFr/perldsc.html#hachages%20de%20hachages
l'exemple suivant n'utilise que la mémoire pour 3 nombres:
=========================== use strict;
use warnings;
"TEXTORIS Julien" wrote in message news:42edd8a9$0$6697$
Bonjour,
Dans le programme que j'essaie d'écrire, je vais me retrouver en condition réelle avec une matrice de 15000x15000. Est-ce perl affecte la place pour toute la matrice en mémoire,
pour une table: oui pour un hashage: non
auquel cas, ca va être énorme, ou est-ce qu'il ne place que les cases attribuées ? Parec que en fait, il y a peu de cases remplies.
Si c'est la première solutions, auriez vous une idée pour gagner de la place en mémoire ? Un autre type à utiliser, ou un objet déjà existant pour ce genre de problèmes ?
Tu peux utiliser un "hashage de hashage": voir http://perl.enstimac.fr/DocFr/perldsc.html#hachages%20de%20hachages
l'exemple suivant n'utilise que la mémoire pour 3 nombres: =========================== use strict; use warnings;
for my $x (sort keys %Matrix) { for my $y (sort keys %{$Matrix{$x}}) { printf "Matrix[%4d, %4d] = %8.3fn", $x, $y, $Matrix{$x}{$y}; } } =========================== -- Klaus
TEXTORIS Julien
Klaus wrote:
"TEXTORIS Julien" wrote in message news:42edd8a9$0$6697$
Bonjour,
Dans le programme que j'essaie d'écrire, je vais me retrouver en condition réelle avec une matrice de 15000x15000. Est-ce perl affecte la place pour toute la matrice en mémoire,
pour une table: oui pour un hashage: non
auquel cas, ca va être énorme, ou est-ce qu'il ne place que les cases attribuées ? Parec que en fait, il y a peu de cases remplies.
Si c'est la première solutions, auriez vous une idée pour gagner de la place en mémoire ? Un autre type à utiliser, ou un objet déjà existant pour ce genre de problèmes ?
Tu peux utiliser un "hashage de hashage": voir http://perl.enstimac.fr/DocFr/perldsc.html#hachages%20de%20hachages
l'exemple suivant n'utilise que la mémoire pour 3 nombres: =========================== > use strict; use warnings;
for my $x (sort keys %Matrix) { for my $y (sort keys %{$Matrix{$x}}) { printf "Matrix[%4d, %4d] = %8.3fn", $x, $y, $Matrix{$x}{$y}; } } =========================== > Merci ;-) c'est exactement ce qu'il me fallait !
Klaus wrote:
"TEXTORIS Julien" <julien.textoris@free.fr> wrote in message
news:42edd8a9$0$6697$626a14ce@news.free.fr...
Bonjour,
Dans le programme que j'essaie d'écrire, je vais me retrouver en
condition réelle avec une matrice de 15000x15000.
Est-ce perl affecte la place pour toute la matrice en mémoire,
pour une table: oui
pour un hashage: non
auquel cas, ca va être énorme, ou est-ce qu'il ne place que les
cases attribuées ? Parec que en fait, il y a peu de cases remplies.
Si c'est la première solutions, auriez vous une idée pour gagner de la
place en mémoire ? Un autre type à utiliser, ou un objet déjà existant
pour ce genre de problèmes ?
Tu peux utiliser un "hashage de hashage":
voir http://perl.enstimac.fr/DocFr/perldsc.html#hachages%20de%20hachages
l'exemple suivant n'utilise que la mémoire pour 3 nombres:
=========================== > use strict;
use warnings;
for my $x (sort keys %Matrix) {
for my $y (sort keys %{$Matrix{$x}}) {
printf "Matrix[%4d, %4d] = %8.3fn", $x, $y, $Matrix{$x}{$y};
}
}
=========================== >
Merci ;-) c'est exactement ce qu'il me fallait !
"TEXTORIS Julien" wrote in message news:42edd8a9$0$6697$
Bonjour,
Dans le programme que j'essaie d'écrire, je vais me retrouver en condition réelle avec une matrice de 15000x15000. Est-ce perl affecte la place pour toute la matrice en mémoire,
pour une table: oui pour un hashage: non
auquel cas, ca va être énorme, ou est-ce qu'il ne place que les cases attribuées ? Parec que en fait, il y a peu de cases remplies.
Si c'est la première solutions, auriez vous une idée pour gagner de la place en mémoire ? Un autre type à utiliser, ou un objet déjà existant pour ce genre de problèmes ?
Tu peux utiliser un "hashage de hashage": voir http://perl.enstimac.fr/DocFr/perldsc.html#hachages%20de%20hachages
l'exemple suivant n'utilise que la mémoire pour 3 nombres: =========================== > use strict; use warnings;
for my $x (sort keys %Matrix) { for my $y (sort keys %{$Matrix{$x}}) { printf "Matrix[%4d, %4d] = %8.3fn", $x, $y, $Matrix{$x}{$y}; } } =========================== > Merci ;-) c'est exactement ce qu'il me fallait !