develooper Front page | perl.perl6.users | Postings from July 2020

Re: Any sign of a fix for the 10 second compile time?

Thread Previous | Thread Next
From:
ToddAndMargo via perl6-users
Date:
July 31, 2020 19:55
Subject:
Re: Any sign of a fix for the 10 second compile time?
Message ID:
3758ed3e-ed8a-80b7-98bf-2811840d4584@zoho.com
>> On Fri, Jul 31, 2020, 04:45 ToddAndMargo via perl6-users 
>> <perl6-users@perl.org <mailto:perl6-users@perl.org>> wrote:
>> 
>>     Hi All,
>> 
>>     Any sign of a fix for the 10 second compile time?
>> 
>>     Do you know if a bug has been opened on it so I can
>>     sign up for the CC?
>> 
>>     Many thanks,
>>     -T
>> 

On 2020-07-31 02:09, Veesh Goldman wrote:
> Does your code have a 'use lib "lib"' line by any chance? Because 
> that'll make raku recompile everything in each directory you run your 
> script in.
> I had this problem once, so I'm guessing that might be what happened to you?
> 

Hi Veesh,

Well, as a matter of fact, yes.  I use modules *A LOT*.
And I seldom zef them into the system as I am constantly
modifying and upgrading them.

The worst offender is my update checker.  It takes
10 seconds to start.  It is 8978 lines long.  And at
8978 lines long, it is a program, not a script.  :-)

use lib '/home/linuxutil/p6lib';
use CurlUtils :CurlDownloadFile, :CurlGetWebSite, :CurlGetHeader, 
:CurlExists, :CurlSendMail, :CurlGetRedirectUrl;
use PrintColors :PrintRed, :PrintGreen, :PrintBlue, :PrintErr, 
:PrintRedErr, :PrintGreenErr, :PrintBlueErr;
use PauseLib :Pause;
use RunNoShellLib :RunNoShell, :RunNoShellCode, :RunNoShellErr;
use CheckSystemDependancy :Which, :CheckSysDependancy;


The second is my Cobian Wrapper that runs in Windows.  It
pops up a black box for about 8 seconds before starting.
Just enough time for the user to thump the "X" in the
upper right and mangle their backups.  I have an RFE in
your the pop up thing.

https://github.com/rakudo/rakudo/issues/3582#issuecomment-661081445

Cobian Wrapper is 521 lines long and is also a program.  :-)

use lib 'C:/NtUtil';
use Getopt::Long;  # get-options
use WinMessageBox :MessageBox;
use WinMount :GetLUA, :SetLUA, :ListPartitions, :Mount, :Umount,
              :FindPartitionByLabel, :FindPartitionByUUID, 
:FindPartitionByDrive;

And several of the modules call other moduels

".precomp" is in full force.  I do not see them recompiled
each time.

About a years of so ago, I asked about this problem.
I was told whilst they work on this, to put the main
part of my program into a module, so it was only
compiled once.  That is not always practical.

The update program was ported over from Perl 5.  On
Perl 5, it fires up in about 1/2 second, not 10 seconds.
Again, I was told they are working on it.

Anyone know if there is a bug report on it I could
Cc on?

Many thanks,
-T

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About