You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's some discussion here with a user who struggled with a problem for a couple of days. I also recall a ticket either on RT or Rakudo's repo where this issue was discussed and IIRC nine++ pointed out that basically this is more or less normal (though, this might be considered a Rakudo-only implementation-specific problem, I guess).
Basically, when you include a dir with stuff like PERL6LIB, -I command line switch, or use lib, that dir becomes a "FileSystem" compilation unit repository and the compiler takes a snapshot of (only Perl 6, IIRC) files so that it would know whether any changes to the code in the FileSystem repository happened, so it would know to recompile any modules. Now, if you stick a path with a gazillion of files, it'll take ages taking that snapshot
For example, in my home dir, PERL6LIB=. time perl6 -e 'use Test' takes 59 seconds, but plain time perl6 -e 'use Test' takes only 0.2 seconds.
And the solution to this trap is to avoid using huge dirs like home dir as CU::Repositiory::FileSystem by not including them in PERL6LIB/-I/use lib
The text was updated successfully, but these errors were encountered:
The whole CUR is badly documented. See #502, for instance. Although including this trap would be quite straighforward, explaining how use lib works is not (and it's not documented either, see this. I'm going to remove "easy to resolve" for the time being, and leave it in the back burner.
There's some discussion here with a user who struggled with a problem for a couple of days. I also recall a ticket either on RT or Rakudo's repo where this issue was discussed and IIRC nine++ pointed out that basically this is more or less normal (though, this might be considered a Rakudo-only implementation-specific problem, I guess).
Basically, when you include a dir with stuff like
PERL6LIB
,-I
command line switch, oruse lib
, that dir becomes a "FileSystem" compilation unit repository and the compiler takes a snapshot of (only Perl 6, IIRC) files so that it would know whether any changes to the code in the FileSystem repository happened, so it would know to recompile any modules. Now, if you stick a path with a gazillion of files, it'll take ages taking that snapshotFor example, in my home dir,
PERL6LIB=. time perl6 -e 'use Test'
takes 59 seconds, but plaintime perl6 -e 'use Test'
takes only 0.2 seconds.And the solution to this trap is to avoid using huge dirs like home dir as CU::Repositiory::FileSystem by not including them in
PERL6LIB
/-I
/use lib
The text was updated successfully, but these errors were encountered: