Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1396 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [perl] limite en taille des variables perl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[perl] limite en taille des variables perl

n°460622
Suri
Darksurious
Posté le 17-07-2003 à 17:19:29  profilanswer
 

en perl (ligne de commande, pas cgi):
 
j'ai une requete SQL de bourrin qui recupere (SELECT) quelques 650 000 enregistrements d'une base et qui fout ca ds un tableau (fetchall_arrayref)   (la table fait 50mo pour info [:icon15])
le serveur m'envoie chier avec un "killed" au bout d'une minute environ  
apres qques tests (division de la requete en plusieurs) j'en deduis que c'est ptet pas mysql qui me lance un timeout... mais autre chose, d'ou ma question:
 
ya t'il une limite de taille des variables perl.. si oui, comment l'augmenter? (c un script de migration qui sera lancé qu'une seule fois donc RAF si ca rame ou koi :D)
 
merci :jap:
 
 
edit:
je le faisais sur une autre machine (ss mandrake) sans probleme avant :/  (là c une slack sur le server)


Message édité par Suri le 17-07-2003 à 17:21:16

---------------
Suri.morkitu.org : Balades au coeur de la ville...
mood
Publicité
Posté le 17-07-2003 à 17:19:29  profilanswer
 

n°460626
Taz
bisounours-codeur
Posté le 17-07-2003 à 17:23:28  profilanswer
 

taille de ta pile?

n°460631
noldor
Rockn'roll
Posté le 17-07-2003 à 17:25:21  profilanswer
 

ce serait pas plus malin de récupérer les enregistrements petit à peti tplutot que tout d'un coup ?
tu fetches 100 d'un coup par exemple


Message édité par noldor le 17-07-2003 à 17:25:49
n°460634
Suri
Darksurious
Posté le 17-07-2003 à 17:26:47  profilanswer
 

++Taz a écrit :

taille de ta pile?


 
j'ai mis a unlimited stacksize :??:
 
 
j'essaye en 2 fois en faisant un undef au milieu... là...
undef ca "free" bien la memoire?


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°460636
Suri
Darksurious
Posté le 17-07-2003 à 17:27:24  profilanswer
 

noldor a écrit :

ce serait pas plus malin de récupérer les enregistrements petit à peti tplutot que tout d'un coup ?
tu fetches 100 d'un coup par exemple


c ce que je fais ..; mais je free pas :d


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°460647
noldor
Rockn'roll
Posté le 17-07-2003 à 17:31:07  profilanswer
 

Suri a écrit :


 
j'ai mis a unlimited stacksize :??:
 
 
j'essaye en 2 fois en faisant un undef au milieu... là...
undef ca "free" bien la memoire?

oui, undef libère bien la mémoire

n°460658
Taz
bisounours-codeur
Posté le 17-07-2003 à 17:36:16  profilanswer
 

je connais pas trop le perl, mais bon... c'est vrai que tu pourrais peut etre amélioré ton algo en une version moins bourrin. des mes souvenirs, je suis pas sur que undef soit suffisant, tu ferais bien de chercher un module qui permette de forcer la collecte du ramasse-miettes entre 2 opérations

n°460662
Suri
Darksurious
Posté le 17-07-2003 à 17:37:14  profilanswer
 

noldor a écrit :

oui, undef libère bien la mémoire


ok donc ca va ptet marcher alors :o  
 
merci :)


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°460694
Suri
Darksurious
Posté le 17-07-2003 à 17:48:12  profilanswer
 

++Taz a écrit :

je connais pas trop le perl, mais bon... c'est vrai que tu pourrais peut etre amélioré ton algo en une version moins bourrin. des mes souvenirs, je suis pas sur que undef soit suffisant, tu ferais bien de chercher un module qui permette de forcer la collecte du ramasse-miettes entre 2 opérations


 
oauis mais bon.. moyen le tps la... tant que ca marche :o
 


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°460923
noldor
Rockn'roll
Posté le 17-07-2003 à 20:55:49  profilanswer
 

Suri a écrit :


 
oauis mais bon.. moyen le tps la... tant que ca marche :o
 
 

et ça marche alors ?


---------------
http://runnerstats.net
mood
Publicité
Posté le 17-07-2003 à 20:55:49  profilanswer
 

n°461054
pospos
Posté le 17-07-2003 à 22:33:17  profilanswer
 

le undef libere la memoire normalement, mais ca marche pas toujours, ca depend de ton perl..
 
Avec perl 5.6 d'activeState sous windows tu a beau faire des undef il libere quedale l'enflure!!
Avec le SiePerl 5.6 (toujours sous win) ca libere par contre
 
et l'activeState 5.8 libere aussi...
 
sous linux je sais pas
 
a priori c'est du au malloc utilisé pour compiler l'interpreteur.
 
Sinon oui un tableau ca prend pas mal de place en perl. tu aurais peut etre interet à mettre tout ca dans un scalaire?

n°461227
Suri
Darksurious
Posté le 18-07-2003 à 09:26:01  profilanswer
 

oui c bon, j'ai divisé ma requete en 2... execution & traitement de la premiere, undef, execution et traitement de la 2e..
 
c bourrin mais j'ai d'autres trucs plus importants [:ddr555]
 
merci :jap:


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°486924
d_wrk
Posté le 14-08-2003 à 11:01:03  profilanswer
 

Any storage associated with the object will be recovered for reuse (though not returned to the system, for most versions of UNIX).
 
Ca répond à vos questions.
undef n'est pas une fonction pour libérer la mémoire...
c'est juste pour libérer l'espace et pouvoir le réutiliser pour autre chose (gestion faite par Perl), la mémoire n'étant pas forcément rendue au système.
 
d

n°487294
pospos
Posté le 14-08-2003 à 15:24:03  profilanswer
 

Oui mais cette FAQ dit des conneries
 
avec ma version de perl (5.8 d'acrive state) elle est effectivement rendue au systeme
 
avec les 5.6 d'activestate ce n'etait pas le cas


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [perl] limite en taille des variables perl

 

Sujets relatifs
[Perl] Récupérer les champs d'une ligne[perl] compilation d'un script perl
Variables de sessions Serveur/Clientpasser des variables de formulaire d'une frame à une autre
[Perl] Parser une stringXXHTML 1.1strict & liens contenant plusieurs variables.
[Perl] break[Perl] Petite regexp
Plus de sujets relatifs à : [perl] limite en taille des variables perl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR