On 21 Jul 2004 at 15:17, Stephen Pick wrote:

> Hi,
> 
> I'm using PAR 0.85, and I'm wondering what on earth PAR is doing on the first-time 
> execution of a stand-alone executable built with it. I use the following command to 
> build my exe:
> pp -vv -M utf8 --gui -o app.exe app.pl
> 
> The packing process is reasonably quick, but on the first execution I have to wait 
> up to twenty seconds for my application to actually start. I know that PAR is 
> extracting the modules required to run the script to a temporary directory on the 
> first run, but it surely should not take this long. 
WinRAR can extract a .par archive built from the same script (including base modules) 
in under a second.
> 
> PAR seems to extract the relevant files in reasonable time (I can see them in the 
> temporary directory as the program is starting), but then spends ages waiting around 
> without much disk access.
> 

That sounds more like Windows is introducing a delay somewhere. If all the files have 
shown up in the temp dir, the perl interpreter has already "use"d PAR causing the 
cache 
unpack and following time scale should be the same thing that happens from a command 
line script.

> My application is a GUI app using wxPerl which is used to configure network 
> computers. It will normally only ever be run once by a user, and a 20-second startup 
> time seems ridiculous for this kind of task. The only thing I can think of is that 
> PAR is using a pure-perl implementation of 
Archive::Zip to do the extraction, which would explain the slowness.
> 

PAR uses Archive::Zip which uses Compress::Zlib which uses a binary Zlib.

I'm exploring sources of speed and memory consumption. I have sent a patch to Autrijus 
that eliminates some redundant unpacking of files. That will speed things a bit, but 
probably not on the order of your symptom.

Alan Stewart

Reply via email to