🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel! Set by lizmat on 25 August 2021. |
|||
japhb | Nah, I really need to *completely* separate download from build. I'm effectively serializing now, but I think zef runs a download/unpack, assumes it succeeds, and then proceeds with testing, only to have it fail, because there was never a working/complete tarball to unpack. | 00:05 | |
00:06
reportable6 left
00:10
guifa joined
00:21
jgaz joined
|
|||
El_Che | crosscompiling moarvm/rakudo ia less that obvious due the non-static nature of the setup? | 00:30 | |
00:52
morte_ joined
01:09
reportable6 joined
01:52
jgaz left
02:18
morte_ left
02:28
frost joined
02:37
monkey_ left
03:03
guifa left
03:06
morte_ joined
03:41
lockywolf joined
04:41
squashable6 left,
notable6 left,
linkable6 left,
sourceable6 left,
benchable6 left,
quotable6 left,
releasable6 left,
coverable6 left,
shareable6 left,
tellable6 left,
bisectable6 left,
bloatable6 left,
nativecallable6 left,
unicodable6 left,
statisfiable6 left,
committable6 left,
evalable6 left,
reportable6 left,
greppable6 left,
sourceable6 joined,
benchable6 joined
04:42
bloatable6 joined,
quotable6 joined,
evalable6 joined,
reportable6 joined
04:43
releasable6 joined
04:52
morte_ left
05:41
notable6 joined
05:42
committable6 joined
05:43
coverable6 joined,
greppable6 joined,
linkable6 joined
05:44
nativecallable6 joined,
statisfiable6 joined,
tellable6 joined
05:58
mexen joined
06:08
reportable6 left
|
|||
Woodi | do using classic modules versioning (like in Perl5), without that guix-like hashes mess, would speed things up ? | 06:27 | |
07:08
linkable6 left,
evalable6 left
07:09
evalable6 joined
07:10
reportable6 joined
07:24
guifa joined
07:28
seednode left
07:29
seednode joined
07:45
guifa left
08:32
Sgeo left
08:42
bisectable6 joined
08:43
unicodable6 joined,
shareable6 joined
08:45
epony left
08:48
epony joined
09:01
jjido joined
09:10
linkable6 joined
|
|||
lizmat is not sure what Woodi means | 09:44 | ||
09:46
Skarsnik joined
09:56
MoC joined
10:48
jjido left
11:14
sena_kun joined
11:17
jjido joined
12:07
reportable6 left,
reportable6 joined
12:19
jjido left
12:34
jjido joined
|
|||
ugexe | do you feel hashing is slow? if so, why? | 12:41 | |
12:41
squashable6 joined
|
|||
ugexe | computers don't really care if a string is human readable. a computer can look up a seemingly random string as quickly as it can a human readable one, even if its encoded into a file path | 12:42 | |
13:25
jjido left
13:40
monkey_ joined
13:55
monkey_ left
14:00
monkey_ joined
14:40
guifa joined
15:02
Kaiepi joined
15:06
monkey_ left
15:13
Sgeo joined
15:20
jjido joined
15:26
squashable6 left
15:44
guifa left
16:09
seednode left
16:10
guifa joined
16:23
seednode joined
16:29
squashable6 joined
16:53
euandreh left
16:57
euandreh joined
17:15
lucasb joined
17:56
sena_kun left
18:07
reportable6 left
18:09
reportable6 joined
|
|||
moon-child | maybe longer pathnames? But I wouldn't expect that to be a bottleneck anyway | 18:11 | |
18:41
qorg11 left
19:08
jgaz joined
|
|||
Woodi | moustly I mean total mess on filesystem. classic way you have source file and compiled, per version, simple. and no need for links or lookups. also I'm asking: do simpler structure could gain something in speed or unmess ? | 19:10 | |
that modern hash repos are implemented via some intermediate and generalized api's ? would be nice to have classic repositories implementation. or maybe it is one ? | 19:13 | ||
ugexe | I have implemented such a repository. if anything its slower | 19:15 | |
github.com/ugexe/Perl6-CompUnit--R...itory--Lib | |||
lizmat | www.reddit.com/r/rakulang/comments...dem_talks/ | 19:18 | |
19:26
qorg11 joined
19:33
qorg11 left,
qorg11 joined
|
|||
Woodi | ugexe: too bad it's slower. still, hours for base distro installation is not good. any idea which part is slow ? | 19:33 | |
19:35
lucasb left
|
|||
leont | If it was an IRL conference I'd submit my 'raku syntax I miss in other languages', but doing it online twice feels a bit weird | 19:52 | |
lizmat | maybe you started missing more? :-) | 20:06 | |
qorg11 | Is there an emacs completion framework (like company) for raku? | 20:21 | |
jdv | Woodi: parsing is still painfully slow. maybe thats most of what youre seeing? | 20:27 | |
Woodi | ...actually no. if problem is: initial installation of compilers distro *with modules* is slow then in classic lib/Foo/Bar.pm type of repos module installation is solved during unpacking. no need for parsing, hashing, coping, linking or running anything. just configure repo path. and, for cheating purposes, precompilation is done during first run, if I remember corectly :) but can be done just after | 20:28 | |
unpacking... | |||
jdv | by installation do you count running zef? | 20:29 | |
Woodi | jdv: actually all that *hours* thing can be considered not so slow :) if raku is ~20x slower then Perl5 then 2 hours is not so bad ;) | ||
MasterDuke | nine has some suggestions about making module installation faster by not duplicating some work | ||
Woodi | jdv: not anymore. just unpack where it need to be | 20:30 | |
MasterDuke | and fwiw, that hours for installation is/was just on RPIs, not more normal desktop/laptop hardware | ||
jdv | curious. be interesting what exactly is slow for you. | ||
Woodi | zef/hashes-style repos looks cargo-culted into installing distribution... | ||
on my laptop or old desktop installing rakudo-202[01]... was around hour... | 20:31 | ||
jdv | what exactly did that entail? | 20:32 | |
Woodi | and repositories mechanism is buildin and many types of repos can coexists ? | ||
jdv | i compiled rakudo head on my rpi4 the other day and it was minutes, not hours. | ||
Woodi | with modules ? | ||
jdv | many minutes ht still:) | ||
*but | 20:33 | ||
no | |||
installing modules, afaik, is dominated by the parse perf issue. | |||
Woodi | parse of sources or jsons ? | 20:34 | |
jdv | source. grammaes basically. | ||
20:35
linkable6 left,
evalable6 left
|
|||
jdv | the thing precomp tries to ameliorate:( | 20:35 | |
Woodi | zef is like cpanm not installing from tarball... | ||
20:36
linkable6 joined
|
|||
jdv | it has to comp/precomp to run tests... | 20:36 | |
Woodi | also other day i found hashes are fast now with new dispatch dispatch :) jnthn++ | ||
20:37
evalable6 joined
|
|||
jdv | in any case its a known pain point. people are trying. thanks for playing:) | 20:37 | |
Woodi | but eg. debian just unpack deb files do not run any tests. installing from release tarball is like deb, imo/ but i just could not fall into sleep but maybe I'm dreaming anyway ? | 20:39 | |
jdv | raku is like perl where tests are run upon install, at least with cpan, cpanm, zef, etc... | 20:40 | |
yes, if the modules were distro pkged youd skip that... | |||
Woodi | do deb contains precompiled modules ? :) | 20:41 | |
jdv | afaik no so you take inital hit... | ||
MasterDuke | the suse packages might be pre-precompiled. i think nine is involved there and he's talked about it at least | 20:42 | |
jdv | perf is center stage these days. it might take a while but its a priority. | 20:43 | |
20:46
guifa left
|
|||
MasterDuke | the problem is that the current slowest part, grammars, has the fewest people who understand it well enough to improve it. and it might be the most novel thing about raku. some of the moarvm improvements are "just" implementing a reasonably-well-known theory or algorithm (i.e., there's prior practice to learn from, even though it could very well be | 20:48 | |
quite complicated). but raku's grammar has fewer places to steal code from (as far as i'm aware, which is limited), so improving it requires doing more things for the first time | |||
and most of the original implementors of it aren't currently active for various reasons | 20:49 | ||
jdv | :( | 20:50 | |
21:01
bdju left
21:09
bdju joined
|
|||
nine | The openSUSE packages do contain precompiled files. It's really just installing them within seconds and your application will start up immediately | 21:18 | |
If Debian packages do not contain precomp files, they are kind of only doing half the job and I'd wonder why. | 21:19 | ||
In fact being able to package precompiled files is one of the major goal of the often critiziced (and rarely understood) module management system. | 21:20 | ||
Also I really don't understand why people would waste hours having an underpowered device like a Pi precompile Raku code, when you can have a system doing it that's probably tens of times faster. But then, people seem to prefer making the wildest guesses as to how to improve them to actually understanding the systems they using. | 21:21 | ||
Understanding them would gain you the insight that precomp files are architecture independent and that you can simply copy them from your beefy desktop to your embedded device. | 21:22 | ||
21:42
MoC left
21:47
bdju left
21:54
bdju joined
|
|||
El_Che | nine: copy hashed directories is something people in the know would do, but it's not something very user friendly | 21:55 | |
ask 100 raku users if they know about it and round 99 wouldn't have a clue | 21:56 | ||
Skarsnik | then why not have precompile file stored in mlodule management repo | ||
? | |||
22:26
bdju left
22:33
bdju joined
|
|||
japhb | Skarsnik: Precompiles are based on versions of the compiler and other modules. A linux distro could do waterfall packaging, so guaranteed versions of all dependencies including the compiler, but zef could not reasonably do this without a storage explosion. In theory we *could* offer a variant that has precompiles only from a snapshot at the instant of a new compiler release, but ... well, that kinda | 22:44 | |
overlaps with Rakudo Star. | |||
Woodi: As MasterDuke said, the multiple hours on RPi 4B/4 GB that I quoted was just for my full rebuild with all my favorite modules. After a couple runs of just MoarVM, NQP, Rakudo, Zef, that base stack of four builds was 35-40 minutes on the RPi. | 22:47 | ||
nine: My guess would be that precomp files are arch independent in the same way MoarVM is uint agnostic -- was fine in theory, but probably less accurate in real life. I have my suspicions about whether 64-bit Linux on x64 to 32-bit Rasbian on aarch64 is handled perfectly, though to be honest I've never tested it with my full stack. (Partially because there's no existing tool to test a full suite of | 22:50 | ||
*already installed* modules.) | 22:51 | ||
23:33
evalable6 left,
linkable6 left,
djerius left
23:40
djerius joined
23:54
jjido left
|