Re: [Exim] Imbedded perl and dynamic loading

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Dean Brooks
CC: exim-users
Subject: Re: [Exim] Imbedded perl and dynamic loading
On Thu, 14 Mar 2002, Dean Brooks wrote:

> In the spec, it says:
>
> If there is no "perl_startup" option in the Exim configuration file
> then no Perl interpreter is started and there is almost no overhead
> for Exim (since none of the Perl library will be paged in unless
> used).
>
> I noticed that when I compiled Exim (under Solaris7/Sparc/GCC) with
> the perl.o linked in, the actual executable binary size is almost
> a full meg instead of 500K as it was without perl.o compiled in.


The size of perl.o when compiled with gcc on Solaris is 11,420 bytes on
my desktop machine. The perl.o module is the "glue" between Exim and
Perl. It's the only additional code in Exim. I am not an expert on how
embedded Perl works at all; the code was contributed to Exim.

> Since the perl.o appears to be statically linked, is it really true
> that "none of the perl library will be paged in unless used"?


I believed the implementer when he said this! But I don't know how the
embedded Perl library works. Nor do I know how (any version of) Unix
pages in binary code for an executing program.

> If so, is this an operating system issue, a compiler issue or an Exim
> issue? That is, will it really require a full megabyte of data
> be read in from disk upon each exec of exim or is the file size misleading?


There must be someone on this list who knows about this stuff...

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.