On Wed, Jul 14, 2010 at 12:30 AM, scott miller <[email protected]> wrote:
>>> myldr/par is sitting at about 4.2 MB.
>>
>> Why is that so large? It should be about the size of your perl executable
>> (because it is actually a special purpose Perl interpreter).
>
> Very good question, that is also the size of my perl binary, which is
> about twice as larger than I'd expect...
>
> For comparison the version of perl that is distributed with HP IA64
> systems (called perl-dynamic...the standard perl binaries are symbolic
> links to it) appears to be only about 22KB, which is much smaller than
> I'd expect.  The my_libperl.c that is produced with that perl
> distribution still appears to be 38MB, but the my_par.c is
> significantly smaller at 1.1MB.

If the perl executable is dynamically linked against a shared
libperl*.so or similar,
then par should be, too. The "standard" perl binary with a size of 22KB is
almost certainly linked dynamically. In that case you should also see a file
myldr/my_libperl.c which contains this libperl*.so stuffed into some
static char arrays.

If the perl executable is not dynamically linked against a libperl*.so then
PAR::Packer should not have generated myldr/my_libperl.c.
In any case, the par binary should be about the same size as the perl binary.
my_par.c and my_libperl.c should be about 5 times the size of par and
libperl*.so, resp.

If your self-built perl and libperl*.so are much larger than the distributed
versions, maybe the contain debug information?

Cheers, Roderich

Reply via email to