Je cr=E9e des hachages partag=E9s en m=E9moire =E0 l'aide du module
IPC::Shareable
Lors de leur cr=E9ation, je leurs donne des options de partage, ainsi
que leurs tailles.
Puis je les "tie" a un hachage exemple %HASH
Enfin je les rempli afin que les diff=E9rents programmes puissent
acc=E9der (lire/modifier/supprimer) des enregistrements.
Jusque l=E0, tout va bien.
Seulement, le probl=E8me est que ces hachages grandissent et je ne sais
pas du tout la taille qu'il faut que je d=E9finisse au pr=E9alable, lors
du Tie, afin de ne pas avoir de message du genre "size excedeed".
J'ai furet=E9 sur google pour voir cette histoire de dimentionnement de
hachage, mais cela ne semble pas =EAtre fait pour les hachages cr=E9es
gr=E0ce =E0 Tie.
Car lorsque j'utilise le module Devel::Size il me sort que mon hachage
fait la totalit=E9 de la taille que je lui ai affect=E9 au d=E9part : ce ne
m'est pas franchement utile comme info :-)
Je voudrai pouvoir dimmensionner correctement mes hachages en fonction
du nombre d'enregistrements qu'ils peuvent contenir car la taille de
chacun de leur enregistrement est fixe.
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
Paul Gaborit
À (at) Mon, 08 Oct 2007 12:37:31 -0000, Sébastien Cottalorda écrivait (wrote):
Je crée des hachages partagés en mémoire à l'aide du module IPC::Shareable
Lors de leur création, je leurs donne des options de partage, ainsi que leurs tailles.
Puis je les "tie" a un hachage exemple %HASH
Enfin je les rempli afin que les différents programmes puissent accéder (lire/modifier/supprimer) des enregistrements.
Jusque là, tout va bien.
Seulement, le problème est que ces hachages grandissent et je ne sais pas du tout la taille qu'il faut que je définisse au préalable, lors du Tie, afin de ne pas avoir de message du genre "size excedeed".
J'ai fureté sur google pour voir cette histoire de dimentionnement de hachage, mais cela ne semble pas être fait pour les hachages crées gràce à Tie. Car lorsque j'utilise le module Devel::Size il me sort que mon hachage fait la totalité de la taille que je lui ai affecté au départ : ce ne m'est pas franchement utile comme info :-)
C'est déjà bien que Devel::Size donne un résultat cohérent ! ;-)
Comme la mesure de la taille ne doit être fait que ponctuellement, il est possible de recopier la table de hachage attachée (via tie) vers une table de hachage normale. La fonction total_size de Devel::Size appliquée à cette table de hachage normale devrait donner une valeur plus réaliste.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) Mon, 08 Oct 2007 12:37:31 -0000,
Sébastien Cottalorda <scottalorda@libello.com> écrivait (wrote):
Je crée des hachages partagés en mémoire à l'aide du module
IPC::Shareable
Lors de leur création, je leurs donne des options de partage, ainsi
que leurs tailles.
Puis je les "tie" a un hachage exemple %HASH
Enfin je les rempli afin que les différents programmes puissent
accéder (lire/modifier/supprimer) des enregistrements.
Jusque là, tout va bien.
Seulement, le problème est que ces hachages grandissent et je ne sais
pas du tout la taille qu'il faut que je définisse au préalable, lors
du Tie, afin de ne pas avoir de message du genre "size excedeed".
J'ai fureté sur google pour voir cette histoire de dimentionnement de
hachage, mais cela ne semble pas être fait pour les hachages crées
gràce à Tie.
Car lorsque j'utilise le module Devel::Size il me sort que mon hachage
fait la totalité de la taille que je lui ai affecté au départ : ce ne
m'est pas franchement utile comme info :-)
C'est déjà bien que Devel::Size donne un résultat cohérent ! ;-)
Comme la mesure de la taille ne doit être fait que ponctuellement, il
est possible de recopier la table de hachage attachée (via tie) vers
une table de hachage normale. La fonction total_size de Devel::Size
appliquée à cette table de hachage normale devrait donner une valeur
plus réaliste.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Mon, 08 Oct 2007 12:37:31 -0000, Sébastien Cottalorda écrivait (wrote):
Je crée des hachages partagés en mémoire à l'aide du module IPC::Shareable
Lors de leur création, je leurs donne des options de partage, ainsi que leurs tailles.
Puis je les "tie" a un hachage exemple %HASH
Enfin je les rempli afin que les différents programmes puissent accéder (lire/modifier/supprimer) des enregistrements.
Jusque là, tout va bien.
Seulement, le problème est que ces hachages grandissent et je ne sais pas du tout la taille qu'il faut que je définisse au préalable, lors du Tie, afin de ne pas avoir de message du genre "size excedeed".
J'ai fureté sur google pour voir cette histoire de dimentionnement de hachage, mais cela ne semble pas être fait pour les hachages crées gràce à Tie. Car lorsque j'utilise le module Devel::Size il me sort que mon hachage fait la totalité de la taille que je lui ai affecté au départ : ce ne m'est pas franchement utile comme info :-)
C'est déjà bien que Devel::Size donne un résultat cohérent ! ;-)
Comme la mesure de la taille ne doit être fait que ponctuellement, il est possible de recopier la table de hachage attachée (via tie) vers une table de hachage normale. La fonction total_size de Devel::Size appliquée à cette table de hachage normale devrait donner une valeur plus réaliste.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
Sébastien Cottalorda
C'est déjà bien que Devel::Size donne un résultat cohérent ! ;-)
En effet.
Comme la mesure de la taille ne doit être fait que ponctuellement, il est possible de recopier la table de hachage attachée (via tie) vers une table de hachage normale. La fonction total_size de Devel::Size appliquée à cette table de hachage normale devrait donner une valeur plus réaliste.
Bien vu, j'avais pas pensé à recopier le hachage et de mesurer la copie.
Je m'en vais de ce pas, faire les modifs.
Merci Paul, une fois de plus .... :-)
C'est déjà bien que Devel::Size donne un résultat cohérent ! ;-)
En effet.
Comme la mesure de la taille ne doit être fait que ponctuellement, il
est possible de recopier la table de hachage attachée (via tie) vers
une table de hachage normale. La fonction total_size de Devel::Size
appliquée à cette table de hachage normale devrait donner une valeur
plus réaliste.
Bien vu, j'avais pas pensé à recopier le hachage et de mesurer la
copie.
C'est déjà bien que Devel::Size donne un résultat cohérent ! ;-)
En effet.
Comme la mesure de la taille ne doit être fait que ponctuellement, il est possible de recopier la table de hachage attachée (via tie) vers une table de hachage normale. La fonction total_size de Devel::Size appliquée à cette table de hachage normale devrait donner une valeur plus réaliste.
Bien vu, j'avais pas pensé à recopier le hachage et de mesurer la copie.