[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] Compilation de PERL (perlcc)



Il existe des extensions dans perl pour l'analyse numérique qui réduise
l'overhead de gros volume de données numériques.

P.ex. : http://www.aao.gov.au/local/www/kgb/perldl/

La compilation ne solutionne pas souvent ce problème, la compilation perl
est souvent utilisé pour ne pas devoir installer perl sur un système.
Par contre, dans mes différents tests, il n'y a pas de performances
meilleurs ou une gestion mémoire plus efficace (souvent un énorme binaire
statique qui prends bcp de mémoire).

cc -Dbool=char -DHAS_BOOL -O2 -I/usr/lib/perl5/5.00556/i586-linux/CORE
 /usr/lib/perl5/5.00556/i586-linux/auto/Fcntl/Fcntl.so
 /usr/lib/perl5/5.00556/i586-linux/auto/IO/IO.so -o filetrucs filetrucs.c
 /usr/lib/perl5/5.00556/i586-linux/auto/DynaLoader/Dynaloader.a
 -L/usr/local/lib -L/usr/lib/perl5/5.00556/i586-linux/CORE -lperl -lnsl
 -lndbm -lgdbm -ldb -ldl -lm -lc -lposix -lcrypt

hope this helps

alx


-- 
---
Alexandre Dulaunoy
  Work    : http://www.conostix.com/       adulau@conostix.com
  Private : http://www.thinkingsecure.com/ adulau@thinkingsecure.com

"Liberty is the great parent of science and of virtue; and a nation will
be great in both in proportion as it is free. " T. Jefferson



On Thu, 18 Oct 2001, Alain EMPAIN wrote:

> Bonjour,
>
> J'ai un collègue qui génère de très grands tableaux de données en PERL;
> parfois l'application se plante par overflow de la swap (et éjecte KDE...).
>
> Il ne peut pas compresser ses données (valeur max : plus de 10.000) sur un
> byte ou moins (par vec() ).
>
> Je me demandais si la compilation en C ne rendrait pas cette gestion de
> mémoire plus performante, mais en essayant le compilateur perlcc, je me
> heurte au message suivant :
>
> 	(ld error) : undefined reference to `boot_DynaLoader'
>
> Est-ce une erreur simpliste (manque un -L ?)?
> Est-ce que le compilateur est suffisamment stable ?
>
> 	Bref est-ce que cela en vaut la peine ?
>
> 	Merci d'avance
>
> 	Alain
> =====================
> (...)
> fsize.pl syntax OK
> Compiling C(fsize) for fsize.pl!
> /usr/bin/perl -I/usr/lib/perl5/5.6.0/i586-linux -I/usr/lib/perl5/5.6.0
> -I/usr/lib/perl5/site_perl/5.6.0/i586-linux -I/usr/lib/perl5/site_perl/5.6.0
> -I/usr/lib/perl5/site_perl -I. /tmp/fsize.pl.tst
> cc -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64  -I/usr/lib/perl5/5.6.0/i586-linux/CORE -o fsize
> fsize.pl.c   -L/usr/local/lib -L/usr/lib/perl5/5.6.0/i586-linux/CORE -lperl
> -lnsl -ldl -lm -lc -lcrypt /usr/lib/perl5/5.6.0/i586-linux/auto/IO/IO.so
> /usr/lib/perl5/5.6.0/i586-linux/auto/Fcntl/Fcntl.so
>
> /tmp/ccQdv9sh.o: In function `xs_init':
> /tmp/ccQdv9sh.o(.text+0x73bc): undefined reference to `boot_DynaLoader'
> collect2: ld returned 1 exit status
> ERROR: In compiling code for fsize.pl.c !
>
> +--------------------------------------------------------------------------------------
> |  Dr Alain EMPAIN      Bioinformatique, Génétique Moléculaire B43,
> |  Fac. Méd. Vétérinaire, Univ. de Liège, Sart-Tilman / B-4000 Liège
> |       Alain.EMPAIN@ulg.ac.be
> |       WORK:+32 4 366 3821 Fax: +32 4 366 4122   GSM:+32 497 701764
> |       HOME:+32 85 512341  -- Rue des Martyrs,7  B-4550 Nandrin
>
> [ Soyez précis dans vos sujets svp afin de déterminer directement  ]
> [ le type de demande...                                            ]
> [ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php     ]
> [ Archives de la mailing list: http://archives.unixtech.be/linux/  ]
> [ http://unixtech.be              Contact: listmaster@unixtech.be  ]
>


[ Soyez précis dans vos sujets svp afin de déterminer directement  ]
[ le type de demande...                                            ]
[ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php     ]
[ Archives de la mailing list: http://archives.unixtech.be/linux/  ]
[ http://unixtech.be              Contact: listmaster@unixtech.be  ]