Re: perl6's new name?

2019-08-13 Thread David Christensen

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

2019-04-28 Thread David Christensen

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

2019-04-28 Thread David Christensen

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

2019-04-28 Thread David Christensen

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

2019-04-27 Thread David Christensen

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...

2019-04-06 Thread David Christensen

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