[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 ]