Any sign of a fix for the 10 second compile time?

Hi All,

Any sign of a fix for the 10 second compile time?

Do you know if a bug has been opened on it so I can
sign up for the CC?

Many thanks,
-T
0
perl6
7/31/2020 1:45:31 AM
perl.perl6.users 1447 articles. 0 followers. Follow

15 Replies
23 Views

Similar Articles

[PageSpeed] 14

$ time raku -e ''

real	0m0.120s
user	0m0.111s
sys	0m0.022s

Doesn't take 10 seconds for me.


> On 31 Jul 2020, at 03:45, ToddAndMargo via perl6-users =
<perl6-users@perl.org> wrote:
>=20
> Hi All,
>=20
> Any sign of a fix for the 10 second compile time?
>=20
> Do you know if a bug has been opened on it so I can
> sign up for the CC?
>=20
> Many thanks,
> -T
0
liz
7/31/2020 8:40:28 AM
Todd,

Strangely after all the correspondence we have had, but I am unable to 
read your mind, and so understand your question.

Perhaps you could have pity on me and give me a bit more information about

a) which bug has appeared

b) what is it that you are compiling

c) a short snippet of code with the timing data (you can get that by 
setting an option in the rakudo command line)

yours non-telepathically

Richar

On 31/07/2020 02:45, ToddAndMargo via perl6-users wrote:
> Hi All,
>
> Any sign of a fix for the 10 second compile time?
>
> Do you know if a bug has been opened on it so I can
> sign up for the CC?
>
> Many thanks,
> -T
0
rnhainsworth
7/31/2020 8:41:26 AM
--00000000000084759105abb92686
Content-Type: text/plain; charset="UTF-8"

Does your code have a 'use lib "lib"' line by any chance? Because that'll
make raku recompile everything in each directory you run your script in.
I had this problem once, so I'm guessing that might be what happened to you?

On Fri, Jul 31, 2020, 04:45 ToddAndMargo via perl6-users <
perl6-users@perl.org> wrote:

> Hi All,
>
> Any sign of a fix for the 10 second compile time?
>
> Do you know if a bug has been opened on it so I can
> sign up for the CC?
>
> Many thanks,
> -T
>

--00000000000084759105abb92686
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Does your code have a &#39;use lib &quot;lib&quot;&#39; l=
ine by any chance? Because that&#39;ll make raku recompile everything in ea=
ch directory you run your script in.<div dir=3D"auto">I had this problem on=
ce, so I&#39;m guessing that might be what happened to you?</div></div><br>=
<div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Ju=
l 31, 2020, 04:45 ToddAndMargo via perl6-users &lt;<a href=3D"mailto:perl6-=
users@perl.org">perl6-users@perl.org</a>&gt; wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex">Hi All,<br>
<br>
Any sign of a fix for the 10 second compile time?<br>
<br>
Do you know if a bug has been opened on it so I can<br>
sign up for the CC?<br>
<br>
Many thanks,<br>
-T<br>
</blockquote></div>

--00000000000084759105abb92686--
0
rabbiveesh
7/31/2020 9:09:35 AM
On 2020-07-31 01:41, Richard Hainsworth wrote:
> odd,
>=20
> Strangely after all the correspondence we have had, but I am unable to =

> read=C2=A0your=C2=A0mind,=C2=A0and=C2=A0so=C2=A0understand=C2=A0your=C2=
=A0question.
>=20
> Perhaps=C2=A0you=C2=A0could=C2=A0have=C2=A0pity=C2=A0on=C2=A0me=C2=A0an=
d=C2=A0give=C2=A0me=C2=A0a=C2=A0bit=C2=A0more=C2=A0information=C2=A0about=

>=20
> a)=C2=A0which=C2=A0bug=C2=A0has=C2=A0appeared
>=20
> b)=C2=A0what=C2=A0is=C2=A0it=C2=A0that=C2=A0you=C2=A0are=C2=A0compiling=

>=20
> c) a short snippet of code with the timing data (you can get that by=20
> setting=C2=A0an=C2=A0option=C2=A0in=C2=A0the=C2=A0rakudo=C2=A0command=C2=
=A0line)
>=20
> yours=C2=A0non-telepathically
>=20
> Richard

You can't read my mind?  KIDS THESE DAYS!!!

See my response to Veesh
0
perl6
7/31/2020 7:41:44 PM
>> On Fri, Jul 31, 2020, 04:45 ToddAndMargo via perl6-users 
>> <perl6-users@perl.org <mailto:perl6-users@perl.org>> wrote:
>> 
>>     Hi All,
>> 
>>     Any sign of a fix for the 10 second compile time?
>> 
>>     Do you know if a bug has been opened on it so I can
>>     sign up for the CC?
>> 
>>     Many thanks,
>>     -T
>> 

On 2020-07-31 02:09, Veesh Goldman wrote:
> Does your code have a 'use lib "lib"' line by any chance? Because 
> that'll make raku recompile everything in each directory you run your 
> script in.
> I had this problem once, so I'm guessing that might be what happened to you?
> 

Hi Veesh,

Well, as a matter of fact, yes.  I use modules *A LOT*.
And I seldom zef them into the system as I am constantly
modifying and upgrading them.

The worst offender is my update checker.  It takes
10 seconds to start.  It is 8978 lines long.  And at
8978 lines long, it is a program, not a script.  :-)

use lib '/home/linuxutil/p6lib';
use CurlUtils :CurlDownloadFile, :CurlGetWebSite, :CurlGetHeader, 
:CurlExists, :CurlSendMail, :CurlGetRedirectUrl;
use PrintColors :PrintRed, :PrintGreen, :PrintBlue, :PrintErr, 
:PrintRedErr, :PrintGreenErr, :PrintBlueErr;
use PauseLib :Pause;
use RunNoShellLib :RunNoShell, :RunNoShellCode, :RunNoShellErr;
use CheckSystemDependancy :Which, :CheckSysDependancy;


The second is my Cobian Wrapper that runs in Windows.  It
pops up a black box for about 8 seconds before starting.
Just enough time for the user to thump the "X" in the
upper right and mangle their backups.  I have an RFE in
your the pop up thing.

https://github.com/rakudo/rakudo/issues/3582#issuecomment-661081445

Cobian Wrapper is 521 lines long and is also a program.  :-)

use lib 'C:/NtUtil';
use Getopt::Long;  # get-options
use WinMessageBox :MessageBox;
use WinMount :GetLUA, :SetLUA, :ListPartitions, :Mount, :Umount,
              :FindPartitionByLabel, :FindPartitionByUUID, 
:FindPartitionByDrive;

And several of the modules call other moduels

".precomp" is in full force.  I do not see them recompiled
each time.

About a years of so ago, I asked about this problem.
I was told whilst they work on this, to put the main
part of my program into a module, so it was only
compiled once.  That is not always practical.

The update program was ported over from Perl 5.  On
Perl 5, it fires up in about 1/2 second, not 10 seconds.
Again, I was told they are working on it.

Anyone know if there is a bug report on it I could
Cc on?

Many thanks,
-T
0
perl6
7/31/2020 7:54:57 PM
 >> On 31 Jul 2020, at 03:45, ToddAndMargo via perl6-users 
<perl6-users@perl.org> wrote:
 >>
 >> Hi All,
 >>
 >> Any sign of a fix for the 10 second compile time?
 >>
 >> Do you know if a bug has been opened on it so I can
 >> sign up for the CC?
 >>
 >> Many thanks,
 >> -T

On 2020-07-31 01:40, Elizabeth Mattijsen wrote:
> $ time raku -e ''
> 
> real	0m0.120s
> user	0m0.111s
> sys	0m0.022s
> 
> Doesn't take 10 seconds for me.


That is not what I am speaking of.

My 8978 line plus modules program was ported
over from Perl 5.  On Perl 5, it fires up in about
1/2 second, not 10  seconds. I was told they are
working on it.  And whilst I wait, to put the main
part of my program in a module so .precomp would
take care of it.  That is not always practical.

By the way, I do not know if your remember it, but
you sent me the same test about a years ago when I
first asked about it.

:-)
0
perl6
7/31/2020 7:59:56 PM
--0000000000009ca04e05abc45d5a
Content-Type: text/plain; charset="UTF-8"

On Fri, Jul 31, 2020 at 14:55 ToddAndMargo via perl6-users <
perl6-users@perl.org> wrote:

> >> On Fri, Jul 31, 2020, 04:45 ToddAndMargo via perl6-users
> >> <perl6-users@perl.org <mailto:perl6-users@perl.org>> wrote:


Todd, a couple of questions:

1. In your modules that change all the time, do have "use lib ...;"
statements in any of them?

2. If the answer to 1. is true, did you know you can use zef to install
your own, non-published modules and then remove "use lib...;" statements
from your modules and your programs?

-Tom

--0000000000009ca04e05abc45d5a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div>On Fri, Jul 31, 2020 at 14:55 ToddAndMargo via perl6-users &lt;<a href=
=3D"mailto:perl6-users@perl.org">perl6-users@perl.org</a>&gt; wrote:<br></d=
iv><div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&gt;&gt;=
 On Fri, Jul 31, 2020, 04:45 ToddAndMargo via perl6-users <br>
&gt;&gt; &lt;<a href=3D"mailto:perl6-users@perl.org" target=3D"_blank">perl=
6-users@perl.org</a> &lt;mailto:<a href=3D"mailto:perl6-users@perl.org" tar=
get=3D"_blank">perl6-users@perl.org</a>&gt;&gt; wrote:</blockquote><div dir=
=3D"auto"><br></div><div dir=3D"auto">Todd, a couple of questions:</div><di=
v dir=3D"auto"><br></div><div dir=3D"auto">1. In your modules that change a=
ll the time, do have &quot;use lib ...;&quot; statements in any of them?</d=
iv><div dir=3D"auto"><br></div><div dir=3D"auto">2. If the answer to 1. is =
true, did you know you can use zef to install your own, non-published modul=
es and then remove &quot;use lib...;&quot; statements from your modules and=
 your programs?</div><div dir=3D"auto"><br></div><div dir=3D"auto">-Tom</di=
v><div dir=3D"auto"><br></div><div dir=3D"auto"><br></div></div></div>

--0000000000009ca04e05abc45d5a--
0
tom
7/31/2020 10:32:24 PM
On 2020-07-31 15:32, Tom Browder wrote:
> On Fri, Jul 31, 2020 at 14:55 ToddAndMargo via perl6-users 
> <perl6-users@perl.org <mailto:perl6-users@perl.org>> wrote:
> 
>      >> On Fri, Jul 31, 2020, 04:45 ToddAndMargo via perl6-users
>      >> <perl6-users@perl.org <mailto:perl6-users@perl.org>
>     <mailto:perl6-users@perl.org <mailto:perl6-users@perl.org>>> wrote:
> 
> 
> Todd, a couple of questions:
> 
> 1. In your modules that change all the time, do have "use lib ...;" 
> statements in any of them?

No.  If I do, they crash

> 
> 2. If the answer to 1. is true, did you know you can use zef to install 
> your own, non-published modules and then remove "use lib...;" statements 
> from your modules and your programs?
> 
> -Tom
0
perl6
7/31/2020 10:36:15 PM
On 2020-07-31 15:36, ToddAndMargo via perl6-users wrote:
> On 2020-07-31 15:32, Tom Browder wrote:
>> On Fri, Jul 31, 2020 at 14:55 ToddAndMargo via perl6-users=20
>> <perl6-users@perl.org <mailto:perl6-users@perl.org>> wrote:
>>
>> =C2=A0=C2=A0=C2=A0=C2=A0 >> On Fri, Jul 31, 2020, 04:45 ToddAndMargo v=
ia perl6-users
>> =C2=A0=C2=A0=C2=A0=C2=A0 >> <perl6-users@perl.org <mailto:perl6-users@=
perl.org>
>> =C2=A0=C2=A0=C2=A0 <mailto:perl6-users@perl.org <mailto:perl6-users@pe=
rl.org>>> wrote:
>>
>>
>> Todd, a couple of questions:
>>
>> 1. In your modules that change all the time, do have "use lib ...;"=20
>> statements in any of them?
>=20
> No.=C2=A0 If I do, they crash

# use lib '/home/linuxutil/p6lib';   # may not be precompiled; calling=20
program must take care of this


>=20
>>
>> 2. If the answer to 1. is true, did you know you can use zef to=20
>> install your own, non-published modules and then remove "use lib...;" =

>> statements from your modules and your programs?
>>
>> -Tom


--=20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Computers are like air conditioners.
They malfunction when you open windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0
perl6
7/31/2020 10:38:03 PM
On Fri, Jul 31, 2020 at 5:38 PM ToddAndMargo via perl6-users
<perl6-users@perl.org> wrote:
> >> Todd, a couple of questions:
> >> 1. In your modules that change all the time, do have "use lib ...;"
> >> statements in any of them?
> >
> > No.  If I do, they crash
>
> # use lib '/home/linuxutil/p6lib';   # may not be precompiled; calling
> program must take care of this


Just for "-O fun", set up your modules as if they were to be public,
i.e., add a META6.jso for the module collection.
The collection being "/path/to/MyModules" and in MyModules create:

     META6.json # create it and add all your modules in it just like
you were going to publish the whole mess.
     ./lib/
        # my modules as moved or duped from "/home/linuxutil/p6lib"
     t/
        00-meta-test.t # some basic test to check your META6.json file

Then, in dir "/path/to/MyModules" try:

    $ zef install .  # <== that's a DOT/PERIOD, i.e., the current directory

If that works, then you should be able to "use" them from your program.

-Tom
0
tom
7/31/2020 11:40:46 PM
On 2020-07-31 16:40, Tom Browder wrote:
> On Fri, Jul 31, 2020 at 5:38 PM ToddAndMargo via perl6-users
> <perl6-users@perl.org> wrote:
>>>> Todd, a couple of questions:
>>>> 1. In your modules that change all the time, do have "use lib ...;"
>>>> statements in any of them?
>>>
>>> No.  If I do, they crash
>>
>> # use lib '/home/linuxutil/p6lib';   # may not be precompiled; calling
>> program must take care of this
> 
> 
> Just for "-O fun", set up your modules as if they were to be public,
> i.e., add a META6.jso for the module collection.
> The collection being "/path/to/MyModules" and in MyModules create:
> 
>       META6.json # create it and add all your modules in it just like
> you were going to publish the whole mess.
>       ./lib/
>          # my modules as moved or duped from "/home/linuxutil/p6lib"
>       t/
>          00-meta-test.t # some basic test to check your META6.json file
> 
> Then, in dir "/path/to/MyModules" try:
> 
>      $ zef install .  # <== that's a DOT/PERIOD, i.e., the current directory
> 
> If that works, then you should be able to "use" them from your program.
> 
> -Tom
> 



Hi Tom,

I am really after is what I originally asked.  Is this
issue any closer to being solved?  And is there
a bug I can get myself Cc'ed on to.

When I get a chance at it again, I will
will look into the workaround.  Thank you.

What compiles in 1/2 seconds on Perl 5 should not
take 18 seconds on Perl 6.

It is the "parse" stage this is the issue.

$ time raku --stagestats -c GetUpdates.pl6
Stage start      :   0.000
Stage parse      :  18.405
Stage syntaxcheck: Syntax OK

real	0m18.449s
user	0m20.673s
sys	0m0.223s
0
perl6
8/1/2020 12:08:04 AM
Todd

What you are asking for is not a bug, but a part of the current stage of 
design. It will probably get quicker.

However, the biggest part of the timing is the compilation - as you have 
noticed.

When you precompile a module, it stores the byte code. Then it runs 
quite well.

Now it IS possible to set up a precomp store of your own, but isn't 
worth the hassle.

zef does all of that for you. So the best thing is to find a way to get 
zef to install your modules.

Naturally if you change anything in them, you will need to bump the 
version number in the META6.json file and then reinstall.

Failure problems with zef, so long as your module compiles, involves 
good housekeeping. zef will look for tests and run them. I cannot 
program anything now without tests, they are SOOOOOOO useful.

Then the structure of the module directory has to be right. But once you 
have got things working once, it becomes much easier.

I have a directory called .perl and inside it is just a META.json which 
lists in the depends field all  my favourite modules. Then I use zef to 
install deps.

On 01/08/2020 01:08, ToddAndMargo via perl6-users wrote:
> On 2020-07-31 16:40, Tom Browder wrote:
>> On Fri, Jul 31, 2020 at 5:38 PM ToddAndMargo via perl6-users
>> <perl6-users@perl.org> wrote:
>>>>> Todd, a couple of questions:
>>>>> 1. In your modules that change all the time, do have "use lib ...;"
>>>>> statements in any of them?
>>>>
>>>> No.  If I do, they crash
>>>
>>> # use lib '/home/linuxutil/p6lib';   # may not be precompiled; calling
>>> program must take care of this
>>
>>
>> Just for "-O fun", set up your modules as if they were to be public,
>> i.e., add a META6.jso for the module collection.
>> The collection being "/path/to/MyModules" and in MyModules create:
>>
>>       META6.json # create it and add all your modules in it just like
>> you were going to publish the whole mess.
>>       ./lib/
>>          # my modules as moved or duped from "/home/linuxutil/p6lib"
>>       t/
>>          00-meta-test.t # some basic test to check your META6.json file
>>
>> Then, in dir "/path/to/MyModules" try:
>>
>>      $ zef install .  # <== that's a DOT/PERIOD, i.e., the current 
>> directory
>>
>> If that works, then you should be able to "use" them from your program.
>>
>> -Tom
>>
>
>
>
> Hi Tom,
>
> I am really after is what I originally asked.  Is this
> issue any closer to being solved?  And is there
> a bug I can get myself Cc'ed on to.
>
> When I get a chance at it again, I will
> will look into the workaround.  Thank you.
>
> What compiles in 1/2 seconds on Perl 5 should not
> take 18 seconds on Perl 6.
>
> It is the "parse" stage this is the issue.
>
> $ time raku --stagestats -c GetUpdates.pl6
> Stage start      :   0.000
> Stage parse      :  18.405
> Stage syntaxcheck: Syntax OK
>
> real    0m18.449s
> user    0m20.673s
> sys    0m0.223s
0
rnhainsworth
8/1/2020 5:30:01 PM
--000000000000d1d7f805abd5248f
Content-Type: text/plain; charset="UTF-8"

On Sat, Aug 1, 2020 at 12:30 Richard Hainsworth <rnhainsworth@gmail.com>
wrote:

> What you are asking for is not a bug, but a part of the current stage of
> design. It will probably get quicker.


Richard, you should find an appropriate place in the docs and add a section
on setting up your personal zef repo.

Thanks.

-Tom

--000000000000d1d7f805abd5248f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div>On Sat, Aug 1, 2020 at 12:30 Richard Hainsworth &lt;<a href=3D"mailto:=
rnhainsworth@gmail.com">rnhainsworth@gmail.com</a>&gt; wrote:<br></div><div=
><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"marg=
in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What you are ask=
ing for is not a bug, but a part of the current stage of <br>
design. It will probably get quicker.</blockquote><div dir=3D"auto"><br></d=
iv><div dir=3D"auto">Richard, you should find an appropriate place in the d=
ocs and add a section on setting up your personal zef repo.</div><div dir=
=3D"auto"><br></div><div dir=3D"auto">Thanks.</div><div dir=3D"auto"><br></=
div><div dir=3D"auto">-Tom</div></div></div>

--000000000000d1d7f805abd5248f--
0
tom
8/1/2020 6:33:26 PM
--------------9F12E1C53AFE2FEF8E194897
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

Tom,

I was not clear. I didn't intend to say/mean a different **zef** repo, 
but a different Precompilation Cache.

I have done this with Pod::From::Cache. If you think this is worth 
discussing in the docs, let me know.

On the other hand, I recompiled raku to make a change, and it needed 
access to the existing zef repo, so I symlinked the ../site directory to 
the one that zef uses. So ... I suppose it might be possible to hack 
something simply by changing symlinks. Not sure it would be a neat way 
of doing things.

Besides, zef and raku have environment variables that should handle 
this. I haven't looked at how to do this neatly yet.

Richard

On 01/08/2020 19:33, Tom Browder wrote:
> On Sat, Aug 1, 2020 at 12:30 Richard Hainsworth 
> <rnhainsworth@gmail.com <mailto:rnhainsworth@gmail.com>> wrote:
>
>     What you are asking for is not a bug, but a part of the current
>     stage of
>     design. It will probably get quicker.
>
>
> Richard, you should find an appropriate place in the docs and add a 
> section on setting up your personal zef repo.
>
> Thanks.
>
> -Tom

--------------9F12E1C53AFE2FEF8E194897
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Tom,</p>
    <p>I was not clear. I didn't intend to say/mean a different **zef**
      repo, but a different Precompilation Cache.</p>
    <p>I have done this with Pod::From::Cache. If you think this is
      worth discussing in the docs, let me know. <br>
    </p>
    <p>On the other hand, I recompiled raku to make a change, and it
      needed access to the existing zef repo, so I symlinked the ../site
      directory to the one that zef uses. So ... I suppose it might be
      possible to hack something simply by changing symlinks. Not sure
      it would be a neat way of doing things.</p>
    <p>Besides, zef and raku have environment variables that should
      handle this. I haven't looked at how to do this neatly yet.<br>
    </p>
    <p>Richard<br>
    </p>
    <div class="moz-cite-prefix">On 01/08/2020 19:33, Tom Browder wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAFMGiz8hrWk-YBAhfKyA-xRPORENiEeF=MZA5A0k3exEvZn6gQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>On Sat, Aug 1, 2020 at 12:30 Richard Hainsworth &lt;<a
          href="mailto:rnhainsworth@gmail.com" moz-do-not-send="true">rnhainsworth@gmail.com</a>&gt;
        wrote:<br>
      </div>
      <div>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">What you
            are asking for is not a bug, but a part of the current stage
            of <br>
            design. It will probably get quicker.</blockquote>
          <div dir="auto"><br>
          </div>
          <div dir="auto">Richard, you should find an appropriate place
            in the docs and add a section on setting up your personal
            zef repo.</div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">Thanks.</div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">-Tom</div>
        </div>
      </div>
    </blockquote>
  </body>
</html>

--------------9F12E1C53AFE2FEF8E194897--
0
rnhainsworth
8/1/2020 8:56:18 PM
> $ time raku --stagestats -c GetUpdates.pl6
> Stage start      :   0.000
> Stage parse      :  18.405
> Stage syntaxcheck: Syntax OK
>=20
> real    0m18.449s
> user    0m20.673s
> sys    0m0.223s=20

On 2020-08-01 10:30, Richard Hainsworth wrote:
> What you are asking for is not a bug, but a part of the current stage o=
f=20
> design.=C2=A0It=C2=A0will=C2=A0probably=C2=A0get=C2=A0quicker.



For "not a bug but we are working on it", the
tracking site is

     https://github.com/Raku/problem-solving

Do you know if the slow parser has got an open tracker?

Thank you for the work around in the mean time.
I will suffer with the slow parser for now
as I do not want to get zef involved at the moment.

-T
0
perl6
8/1/2020 9:14:57 PM
Reply: