I've built HOL4 with versions of Poly/ML before and after the fix
(c355b21 and 0ad5aa8) on Linux x86_64. I ran the miller example (with
fixes for Poly/ML reverted) and it appears that 0ad5aa8 fixes the issue.
Under c355b21:
[pclayton@localhost miller]$ ./selftest.exe
Composite test on 91 ...
(0.024s) OK
Composite test on 123 ...
(0.016s) OK
Composite test on 4294967297 ...
[GC = 3.401] (0.394s) OK
Composite test on 18446744073709551617 ...
[GC = 186.871] (3.216s) OK
Composite test on 340282366920938463463374607431768211457 ...
^C^C
Under 0ad5aa8:
[pclayton@localhost miller]$ ./selftest.exe
Composite test on 91 ...
[GC = 0.027] (0.023s) OK
Composite test on 123 ...
(0.018s) OK
Composite test on 4294967297 ...
(0.360s) OK
Composite test on 18446744073709551617 ...
(2.540s) OK
Composite test on 340282366920938463463374607431768211457 ...
(19.700s) OK
Chun - your Poly/ML build commands (make compiler; make install) don't
specify "make compiler" after "make" - see
https://www.polyml.org/download.html
I wonder therefore whether the compiler was rebuilt in your test.
Phil
On 20/06/20 04:32, Chun Tian (binghe) wrote:
Hi David,
no I didn't do "make compiler" in my previous tests... But after I did
it (make compiler; make install) and rebuilt HOL, the "miller" selftest
result is the same. The whole testing process still need more than 8
minutes to finish.
Regards,
Chun
On Sat, Jun 20, 2020 at 1:23 AM David Matthews
<david.matth...@prolingua.co.uk <mailto:david.matth...@prolingua.co.uk>>
wrote:
Hi,
You did run "make compiler" at least once after running "configure" and
"make", didn't you?
David
On 19/06/2020 18:17, Chun Tian (binghe) wrote:
> Hi David,
>
> I rebuilt and installed PolyML 5.8 ('master', up to 0ad5aa8) and
ran again
> the 'miller' selftests as Michael mentioned, but the results seem
unchanged:
>
> ```
> Composite test on 91 ...
> (0.018s) OK
> Composite test on 123 ... [GC
= 0.037]
> (0.013s) OK
> Composite test on 4294967297 ... [GC
= 3.487]
> (0.376s) OK
> Composite test on 18446744073709551617 ... [GC
= 84.370]
> (2.846s) OK
> Composite test on 340282366920938463463374607431768211457 ... [GC =
> 429.267] (21.935s) OK
>
> real 9m19.723s
> user 9m7.408s
> sys 0m12.139s
> ```
>
> I'm on macOS 10.15 (catalina) with 2,3 GHz Intel Core i9 (8
core). The same
> tests took less than 30s with PolyML 5.7.
>
> Hope this helps,
>
> Chun Tian
>
>
> On Fri, Jun 19, 2020 at 6:54 PM David Matthews <
> david.matth...@prolingua.co.uk
<mailto:david.matth...@prolingua.co.uk>> wrote:
>
>> Thanks, Phil, for reminding me of this. I've committed a fix
(0ad5aa8)
>> for that. There was a tail-recursive function in your example that
>> returned a tuple. Poly/ML puts these on the stack where it can
but in
>> this case it was causing the function to cease to be tail-recursive,
>> eating up the stack. The reason for the regression was a change
in the
>> way tuples on the stack are handled in the 32-in-64 bit
version. Your
>> example now works as it used to.
>>
>> Michael, it would be worth trying your code with the latest
version to
>> see if this has fixed it. If it hasn't then presumably it's a
different
>> problem and I'll have to investigate further.
>>
>> David
>>
>> On 16/06/2020 09:58, Phil Clayton wrote:
>>> I also found that 5.8 can consume a huge amount of memory
compared to
>>> 5.7.1. In my case, it was a very small example doing simple
arithmetic
>>> operations (demonstrating Fermat's method to find pairs of
factors) so
>>> it may be related. I have raised an issue for it:
>>> https://github.com/polyml/polyml/issues/121
>>>
>>> Phil
>>>
>>> On 16/06/20 02:30, Norrish, Michael (Data61, Acton) wrote:
>>>> I have some HOL code that runs to completion in ~24 seconds
user time.
>>>>
>>>> On 5.7.1 it runs in about that much wall clock time too.
>>>> (Unfortunately, this test is running on a different machine,
>>>> necessarily, but this is an old Linux desktop which is far less
>>>> powerful than the new Macbook Pro which is running 5.8.)
>>>>
>>>> On 5.8 (updated for MacOS Catalina to the SHA above), wall
clock time
>>>> is 8 minutes.
>>>>
>>>> The relevant code is the selftest in examples/miller/miller
which is a
>>>> big arithmetic normalisation.
>>>>
>>>> On the Mac, memory consumption (as reported by the Activity
Monitor)
>>>> gets as high as 20GB; on the Linux machine running 5.7.1, the
>>>> consumption remains very slight (top reports 3% in its %MEM
column;
>>>> the machine has 16GB)
>>>>
>>>> Michael
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> polyml mailing list
>>>> polyml@inf.ed.ac.uk <mailto:polyml@inf.ed.ac.uk>
>>>> http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
>>>>
>>> _______________________________________________
>>> polyml mailing list
>>> polyml@inf.ed.ac.uk <mailto:polyml@inf.ed.ac.uk>
>>> http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
>> _______________________________________________
>> polyml mailing list
>> polyml@inf.ed.ac.uk <mailto:polyml@inf.ed.ac.uk>
>> http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
>
>
>
>
> _______________________________________________
> polyml mailing list
> polyml@inf.ed.ac.uk <mailto:polyml@inf.ed.ac.uk>
> http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
>
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk <mailto:polyml@inf.ed.ac.uk>
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
--
Chun Tian (binghe)
Fondazione Bruno Kessler (Italy)
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml