Perte de puissance avec Tk::Tree

Perte de puissance avec Tk::Tree - Perl - Programmation

Marsh Posté le 02-06-2005 à 19:52:55    

boujour tout le monde !!!
 
En fait, je veux visualiser la table MIB d'un serveur SNMP, mon problème c'est que la table dois avoir environ 1000 lines. Quand j'execute mon script le pross tourne a 50% et le programme est figé.
 
voila un bout du script :
 
my ($Name, $Node);
 
my $community = "public";
my $port = '161';
my $network;
my $oid ='1.3.6.1.2';
our ($session, $error);
 
($session, $error) = Net::SNMP->session(
        -hostname => '127.0.0.1',
        #-community => $community,
        -port => $port,
);
$network = $session->get_table(-baseoid => $oid);
foreach $Node (%$network)
{
 
my @table = split(/\./, $Node);
my $t;
for (0..7)
    {
 $t .= $table[$_];
 if (!$tree->info('exists', $t))
     {
  if ($_ == 7){$_ = "table[$_] $oids{$t}"}
  $tree->add("$t", -text => $_);
  $tree->close("$t" );
     }
 $t .= '.';
    }
$tree->autosetmode;
}
 
Je croix que sa peut etre mieu fait !!!!
si quelqu'un a une idée je suis preneur !!!
 
Merci,

Reply

Marsh Posté le 02-06-2005 à 19:52:55   

Reply

Marsh Posté le 03-06-2005 à 12:12:22    

je ne connais pas bien le module tk-tree, mais peut etre qu'il existe des methodes pour ajouter plsu d'un element à chaque fois?  
 
sinon, pour le probleme de l'appli "figée", tu peux ajouter des $mw->update dans ta boucle, pour remettre à jour l'interface

Reply

Marsh Posté le 04-06-2005 à 13:59:26    

pospos a écrit :


sinon, pour le probleme de l'appli "figée", tu peux ajouter des $mw->update dans ta boucle, pour remettre à jour l'interface


 
 
 
J'ai un peu améloré le code et effectivement c'est plus sympa avec le update...
Mais sa met tjrs du temps pour afficher toute la base et c'est trés gourmand en RAM et cpu !
 
merci pospos
 
Tk::Tree est une HList si quelqu'un connait un moyen d'ajouter plusieurs elements en meme temps parent-enfant ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed