Hi Roderich, sorry for the late reply, and thanks to the words of wisdom. As a lazy engineer, I don't like duplicating code :-). Anyhow, as my primitive benchmarks suggest that it's better to spawn off n [default: 8] processes of 27 MByte than forking 75+ MByte ones, it would be great to get my patch into POE::Component::Resolver. I will provide a PoCo::Generic patch once I stumble across the problem [currently not in use ... yet].
Cheers, Markus -----Original Message----- From: Roderich Schupp [mailto:roderich.sch...@googlemail.com] Sent: Sunday, May 22, 2011 3:55 PM To: Markus Jansen Cc: Steffen Mueller; poe@perl.org; p...@perl.org Subject: Re: POE::Component::Resolver patch for PAR compatibility On Thu, May 19, 2011 at 10:54 PM, Markus Jansen <markus.jan...@ericsson.com> wrote: > an "easier way" could mean some means to minimize the startup costs > for the other Perl scripts - as --reuse targets toward the execution > of external Perl scripts, we are talking here about "internal" > scripts, I can't see the difference between "internal" scripts (i.e. packed into the executable) and "external" scripts here. The main cost is in both cases: - executing the bootstrap program, i.e. the executable generated by pp (which notices that the bootstrap stuff is already extracted) - executing the already unpacked special purpose perl interpreter - require'ing PAR::Packer and dependent modules - finally running your script (whether it's below $ENV{PAR_TEMP} or somewhere else) The only way to save here is getting rid of the first exec (the unpacked special purpose perl interpreter is actually $ENV{PAR_TEMP}/{basename of pp generated executable}). But that would mean to duplicate the setup (mostly environment stuff and argument preprocessing) currently done by boot. Cheers, Roderich