Re: Ping Larry Wall: excessive compile times
On 8/30/22 07:45, Parrot Raiser wrote: Surely Jonathan Worthington (or one of the other people who've worked on the compiler) would be in a better position to answer this sort of question. Assuming that you write in a normal "interpreted-language" style, (i.e. gradually adding features, testing, and moving on to the next one, do you notice any sudden changes, or is the increase linear? That might provide clues to any weak spots. How large are the programs that invoke these long compiles? See the data I reported over on https://github.com/perl-foundation-outreach/gsoc-2021-ideas/issues/4 The program also calls out six custom modules, the largest of which is 12K. The smallest is 1.4 K. And they are all loaded in .precomp. What I am really after is knowing if the "slows" is just technically the nature of things or is it a case of lack of time, resources, and/or volunteers. This would assist in my long term planning.
Re: Ping Larry Wall: excessive compile times
Surely Jonathan Worthington (or one of the other people who've worked on the compiler) would be in a better position to answer this sort of question. Assuming that you write in a normal "interpreted-language" style, (i.e. gradually adding features, testing, and moving on to the next one, do you notice any sudden changes, or is the increase linear? That might provide clues to any weak spots. How large are the programs that invoke these long compiles? On 8/29/22, ToddAndMargo via perl6-users wrote: > On 8/29/22 19:58, ToddAndMargo via perl6-users wrote: >> On 8/29/22 19:26, Brad Gilbert wrote: >>> The Raku compiler is written in Raku (to an extent) so no it can't be >>> toned down. I've been out of the loop for a while, but there has been >>> work to make the compiler use a better design which should be more >>> optimizable. >> >> Awesome. >> > > > I would love to hear from Larry if there is some > technical reason behind the slowness and it is > just not lack of time and/or resources on the > developers part. >
Re: Ping Larry Wall: excessive compile times
On 8/29/22 19:58, ToddAndMargo via perl6-users wrote: On 8/29/22 19:26, Brad Gilbert wrote: The Raku compiler is written in Raku (to an extent) so no it can't be toned down. I've been out of the loop for a while, but there has been work to make the compiler use a better design which should be more optimizable. Awesome. I would love to hear from Larry if there is some technical reason behind the slowness and it is just not lack of time and/or resources on the developers part.
Re: Ping Larry Wall: excessive compile times
On 8/29/22 19:26, Brad Gilbert wrote: The Raku compiler is written in Raku (to an extent) so no it can't be toned down. I've been out of the loop for a while, but there has been work to make the compiler use a better design which should be more optimizable. Awesome.
Re: Ping Larry Wall: excessive compile times
The Raku compiler is written in Raku (to an extent) so no it can't be toned down. I've been out of the loop for a while, but there has been work to make the compiler use a better design which should be more optimizable. On Mon, Aug 29, 2022, 2:01 PM ToddAndMargo via perl6-users < perl6-users@perl.org> wrote: > On 8/29/22 11:50, Brad Gilbert wrote: > > Actually Raku is faster to compile than Perl5. If you consider all of > > the features it comes with. > > > > For example, in Raku everything is an object with meta features. If you > > add Moose or similar to Perl5 then the compile times will often take > > longer than the equivalent Raku times. > > > > That's not the only such feature that you have to add to Perl5 to get > > feature parity. > > > > Then you have to also realize that the Perl5 compiler has had since 1994 > > to get faster vs. 2015 for Raku. > > I do adore Perl 6 (Raku). I almost completely > dropped Perl 5 when I got a load of P6's > subroutines. I program in Top Down and P5's > subs are a nightmare. I have one P5 program > I support that I have not ported yet. > > As a beginner, my programs are rather simple. > If P6 being feature rich is part of the > problem, is there a way to tell P6's compiler > to back off a bit? > > > > >
Re: Ping Larry Wall: excessive compile times
On 8/29/22 11:50, Brad Gilbert wrote: Actually Raku is faster to compile than Perl5. If you consider all of the features it comes with. For example, in Raku everything is an object with meta features. If you add Moose or similar to Perl5 then the compile times will often take longer than the equivalent Raku times. That's not the only such feature that you have to add to Perl5 to get feature parity. Then you have to also realize that the Perl5 compiler has had since 1994 to get faster vs. 2015 for Raku. I do adore Perl 6 (Raku). I almost completely dropped Perl 5 when I got a load of P6's subroutines. I program in Top Down and P5's subs are a nightmare. I have one P5 program I support that I have not ported yet. As a beginner, my programs are rather simple. If P6 being feature rich is part of the problem, is there a way to tell P6's compiler to back off a bit?
Re: Ping Larry Wall: excessive compile times
Actually Raku is faster to compile than Perl5. If you consider all of the features it comes with. For example, in Raku everything is an object with meta features. If you add Moose or similar to Perl5 then the compile times will often take longer than the equivalent Raku times. That's not the only such feature that you have to add to Perl5 to get feature parity. Then you have to also realize that the Perl5 compiler has had since 1994 to get faster vs. 2015 for Raku. On Mon, Aug 29, 2022, 10:48 AM ToddAndMargo via perl6-users < perl6-users@perl.org> wrote: > Dear Larry Wall, > > Sorry for writing you directly, but I know you > sometimes answer questions on this mailing list. > And those answers are uniquely easy for a beginner > to understand. > > The compile times of Perl5 and Perl6 are dramatically > different. Perl 5 is literally 100 times or more > faster than Perl6. It is professionally embarrassing > to turn over a program to customer that takes up to > 20 seconds to start. > > I have reported the issue over on: > >https://github.com/perl-foundation-outreach/gsoc-2021-ideas/issues/4 > > From the bug report, I compared a program I ported from > Perl 5 to Perl 6. > >$ raku -c --stagestats GetUpdates.pl6 >Stage start : 0.000 >Stage parse : 17.851 >Stage syntaxcheck: Syntax OK > >$ time perl -c GetUpdates.pl >GetUpdates.pl syntax OK >real 0m0.305s >user 0m0.243s >sys 0m0.029s > > > 17.851 versus 0.75 seconds. Or 238 times slower. > > Since you wrote both Perl 5 and Perl 6, is there some > reason beyond my limited understanding of how these > things work as to why your Perl 5 is so much faster to > compile that your Perl 6? > > And is wishing for the situation to be corrected > not a reasonable request? > > Also, am I stuck with the .precomp work around, which > is not helpful when you have to run a lot of > iterations to debug things such are regex's? > 17 seconds to see if I goofed a regex is killing me! > > Many thanks, > -T > >
Re: Ping Larry Wall: excessive compile times
> Since you wrote both Perl 5 and Perl 6, is there some > reason beyond my limited understanding of how these > things work as to why your Perl 5 is so much faster to > compile that your Perl 6? You clearly understand the situation! What can I say? Ah, I know. *PLONK* Liz
Ping Larry Wall: excessive compile times
Dear Larry Wall, Sorry for writing you directly, but I know you sometimes answer questions on this mailing list. And those answers are uniquely easy for a beginner to understand. The compile times of Perl5 and Perl6 are dramatically different. Perl 5 is literally 100 times or more faster than Perl6. It is professionally embarrassing to turn over a program to customer that takes up to 20 seconds to start. I have reported the issue over on: https://github.com/perl-foundation-outreach/gsoc-2021-ideas/issues/4 From the bug report, I compared a program I ported from Perl 5 to Perl 6. $ raku -c --stagestats GetUpdates.pl6 Stage start : 0.000 Stage parse : 17.851 Stage syntaxcheck: Syntax OK $ time perl -c GetUpdates.pl GetUpdates.pl syntax OK real 0m0.305s user 0m0.243s sys 0m0.029s 17.851 versus 0.75 seconds. Or 238 times slower. Since you wrote both Perl 5 and Perl 6, is there some reason beyond my limited understanding of how these things work as to why your Perl 5 is so much faster to compile that your Perl 6? And is wishing for the situation to be corrected not a reasonable request? Also, am I stuck with the .precomp work around, which is not helpful when you have to run a lot of iterations to debug things such are regex's? 17 seconds to see if I goofed a regex is killing me! Many thanks, -T