Re: perl6's new name?
On 8/11/19 11:14 PM, Eliza wrote: Hello perl6 world, I saw the perl6 github issue, just was confused will perl6 change its name? https://github.com/perl6/problem-solving/issues/81 I don't know whether to take this is troll bait or a real issue. Lots of people seem to be responding; so in case the issue is real, I will make two points against changing the name of Perl 6 From an X.Y major-minor version numbering system standpoint, X is incremented whenever the product changes significantly. In the context of computer programming languages, source code incompatibility is an obvious criteria for changing X. If source code is compatible after a change, then Y should be changed. Perl 6 is significantly different from Perl 5, and, in general, Perl 6 programs are incompatible with the Perl 5 compiler/ interpreter and vice-versa. Therefore, the "6" was properly applied and "Perl 6" is correct. From a practical standpoint, there is too much water under the bridge. Name changes need to be done up front (Ruby was done properly in this regard). David
Re: Why so slow
On 4/27/19 10:40 PM, David Christensen wrote: I suggested that he install the official package: https://rakudo.org/files The Rakudo site is degraded: "Currently, rakudo.org is being served from a back-up server that doesn't have the download files." I had previously downloaded installers for Debian and for macOS: 2019-04-28 00:14:14 dpchrist@tinkywinky ~/samba-dpchrist/Downloads/p/perl6 $ ls -1hs rakudo-* 11M rakudo-pkg-Debian9_2019.03.1-01_amd64.deb 6.0K rakudo-pkg-Debian9_2019.03.1-01_amd64.deb.sha1 25M rakudo-star-2019.03.dmg If anyone needs them, send me an e-mail off list. David
Re: Why so slow
On 4/28/19 12:07 AM, Timo Paulssen wrote: I'm writing a program called moarperf, which is a local web app written in Cro that doesn't touch the network outside of loopback. It just has to build its JavaScript blobs once by downloading like a brazillion libraries from npm. That should be useful. Also, comma complete comes with support for profiling, which also doesn't need a live net connection. https://commaide.com/ Finally, I think at least Debian patches the profiler html app to point at an angularjs downloaded from Debian repositories. It's quite feasible to have an env var for nqp/rakudo that changes the path to the js libraries to something local. I use Mozilla Firefox with the NoScript plug-in -- that's how I saw that JavaScript is required. The profile pages seem to work on Debian at the present time if I do nothing (JavaScript is cached?), but requires JavaScript to be explicitly enabled on macOS. David
Re: Why so slow
On 21/04/2019 05:58, ToddAndMargo via perl6-users wrote: Hi All, One liners are fast, but my own programs are very slow to start. I download https://github.com/perl6/gtk-simple/blob/master/examples/05-bars.pl6 To check it out and it also takes ten second to start. >> What gives? Many thanks, -T On 4/27/19 11:14 PM, Timo Paulssen wrote: You don't happen to have a PERL6LIB or -I pointed at a folder with loads of stuff in it? If that is the case, having a single "use" statement will cause rakudo to iterate through all files and subfolders, which can take a long time if you've got, for example, your home directory in that list (be it via -I. or PERL6LIB=. or explicitly mentioning the big folder) There's many different tools to find out what's going on. For the "too big perl6lib folder" problem, "strace" will give you a good hint by giving one "stat" command for every file under your home directory. Other than that, check "perl6 --stagestats -e 'blah'" or "perl6 --stagestats FooBar.p6", which will give timings for the different phases, most notably "parse", "optimize", and "mbc". loading modules and precompiling are part of the parse stage. the "time" command will split your run time between "system" and "user" time (as well as wallclock time). if "system" is particularly high, then the program spends a lot of time asking the kernel to do stuff (such as iterating files on the filesystem for the PERL6LIB case i've menitoned above). If none of that helps, startup can be profiled with "perl6 --profile-compile blah" and run time can be profiled with "perl6 --profile blah". The default output will be a html file that you can just open in your browser to get an interactive performance inspection tool thingie. Be aware, though, that it can become very big in the case of --profile-compile, depending on the structure of the program being compiled. Hope any of that helps - Timo Yes, very useful -- thank you. :-) (I do not seem to have a man page for Perl 6, but 'perl6 --help' gives a brief overview of those options.) The only drawback is that the HTML profile reports require JavaScript and a live Internet connection to function. David
Re: Why so slow
On 4/20/19 8:58 PM, ToddAndMargo via perl6-users wrote: Hi All, One liners are fast, but my own programs are very slow to start. I download https://github.com/perl6/gtk-simple/blob/master/examples/05-bars.pl6 To check it out and it also takes ten second to start. What gives? Many thanks, -T We discussed this at our San Francisco Perl Mongers meeting today: 1. Works for me: 2019-04-27 22:32:13 dpchrist@tinkywinky ~ $ cat /etc/debian_version 9.8 2019-04-27 22:32:18 dpchrist@tinkywinky ~ $ uname -a Linux tinkywinky 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux 2019-04-27 22:32:21 dpchrist@tinkywinky ~ $ ls Downloads/rakudo-pkg-Debian9_2019.03.1-01_amd64.deb Downloads/rakudo-pkg-Debian9_2019.03.1-01_amd64.deb 2019-04-27 22:32:23 dpchrist@tinkywinky ~ $ dpkg-query --list rakudo* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==---= ii rakudo-pkg 2019.03.1-01 amd64Rakudo Perl 6 runtime 2019-04-27 22:32:30 dpchrist@tinkywinky ~ $ cat sandbox/perl6/hello.p6 #!/usr/bin/env perl6 print "hello, world!\n"; 2019-04-27 22:32:37 dpchrist@tinkywinky ~ $ time sandbox/perl6/hello.p6 hello, world! real0m0.276s user0m0.332s sys 0m0.068s 2. Worked for another person with macOS. 3. 10~15 second start-up delays for another person with Debian 9 and Perl 6 built from source. top(1) showed 100+ %CPU during the start-up delays. Once inside the REPL, there were no obvious delays. I suggested that he install the official package: https://rakudo.org/files What is your operating system? What is your Perl 6? Is there a way to run Perl 6 with debugging, logging, profiling, etc., enabled, so that the user can see what Perl 6 is doing and how long it takes? David
macOS Mojave 10.14.4, Rakudo Star 2019.03.1, zef install Ddt -> Failed to change the working directory...
perl6-users: I have: macOS Mojave Version 10.14.4 MacBook Pro (Retina, 15-inch, 2015) Today, I downloaded and installed: https://rakudo.org/latest/star/macos into my normal user account per the built-in instructions (including setting PATH). Perl 6 seems to work: 2019-04-06 19:20:23 dpchrist@Davids-MBP ~ $ perl6 --version This is Rakudo Star version 2019.03.1 built on MoarVM version 2019.03 implementing Perl 6.d. But when I try to install the Ddt package with zef, it appears that zef is trying to operate on system folders (?): 2019-04-06 19:19:34 dpchrist@Davids-MBP ~ $ zef install Ddt ===> Searching for: Ddt ===> Updating cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json ===> Updating p6c mirror: http://ecosystem-api.p6c.org/projects1.json ===> Updated cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json ===> Updated p6c mirror: http://ecosystem-api.p6c.org/projects1.json ===> Searching for missing dependencies: File::Ignore, License::Software:ver<0.2.0>, Pod::To::Markdown ===> Searching for missing dependencies: Pluggable ===> Testing: File::Ignore ===> Testing [OK] for File::Ignore ===> Testing: Pluggable:ver<0.3>:auth ===> Testing [OK] for Pluggable:ver<0.3>:auth ===> Testing: License::Software:ver<0.2.0>:auth # github source https://github.com/kalkin/License-Software needs to end in .git ===> Testing [OK] for License::Software:ver<0.2.0>:auth ===> Testing: Pod::To::Markdown:ver ===> Testing [OK] for Pod::To::Markdown:ver ===> Testing: Ddt:ver<0.5.5>:auth Failed to change the working directory to '/var/folders/r_/lk5svb150bzf2wdvp6ct_t_cgn/T/6aGzXY88az/Foo-Bar': does not exist in block at t/02-generate-test.t line 12 Failed to change the working directory to '/var/folders/r_/lk5svb150bzf2wdvp6ct_t_cgn/T/3CxIelhQKl/Foo-Bar': does not exist in block at t/03-absent-dirs.t line 12 ===> Testing [FAIL]: Ddt:ver<0.5.5>:auth Aborting due to test failure: Ddt:ver<0.5.5>:auth (use --force-test to override) 2019-04-06 19:20:45 dpchrist@Davids-MBP ~ $ zef --version v0.7.1 Suggestions? David