ANN: Dogelog Runtime, Prolog to the Moon (2021)

Mostowski Collapse janburse at fastmail.fm
Tue Sep 14 09:01:58 EDT 2021


But even when using GraalVM Python, the
execution is still slow. Much slower
then the same Prolog interpreter written

in JavaScript. For JavaScript node.exe
I get much better results. I get these
results comparing to a few other new

Prolog systems as well:

Test 	Dogelog 	Scryer 	Trealla
Total 	4427 	7325 	1824

The test harness, test cases and individual
results for all test cases are found here:

Meanwhile could also test Trealla, results are from 12.09.2021,
tested with Dogelog Runtime 0.9.5, JavaScript Version:
https://gist.github.com/jburse/f4e774ebb15cac722238b26b1a620f84#gistcomment-3890013

But this is all only a moment in time.
The Prolog interpreter itself is evolving,
and the programming languages also,

so this is a moving target. Benchmark
results will look different tomorrow.

Mostowski Collapse wrote:
> I am testing a Prolog interpreter written
> in Python. So fibonacci number routine is
> written in Prolog and I am running the
> 
> fibonnaci number routine inside the
> Prolog interpreter that is written in
> Python. The factor 6x times faster of
> 
> GraalVM can be reproduced also for other
> Prolog programs running inside the Prolog
> interpreter that is written in Python.
> 
> I have a benchmark suite, where I get,
> the figures are milliseconds:
> 
> Test    Standard    GraalVM
> Total     170'996      28'523
> 
> This means the factor is:
> 
> 170'996 / 28'523 = 5.9950
> 
> The test harness, test cases and individual
> results for all test cases are found here:
> 
> And we could test GraalVM Python, results are from 14.09.2021,
> tested with Dogelog Runtime 0.9.5, Python Version:
> https://gist.github.com/jburse/f4e774ebb15cac722238b26b1a620f84#gistcomment-3892587 
> 
> 
> Terry Reedy wrote:
>> On 9/13/2021 8:46 AM, Mostowski Collapse wrote:
>>> The Standard Python version of Dogelog runtime
>>> is annoyingly slow. So we gave it a try with
>>> andother Python, and it was 6x times faster.
>>>
>>> We could test GraalVM. We worked around the missing
>>> match in Python 3.8 by replacing it with if-then-else.
>>> Performance is a little better, we find:
>>>
>>> /* Standard Python Version, Warm Run */
>>> ?- time(fibo(23,X)).
>>> % Wall 3865 ms, gc 94 ms, 71991 lips
>>> X = 46368.
>>>
>>> /* GraalVM Python Version, Warm Warm Run */
>>> ?- time(fibo(23,X)).
>>> % Wall 695 ms, gc 14 ms, 400356 lips
>>> X = 46368.
>>>
>>> See also:
>>>
>>> JDK 1.8 GraalVM Python is 6x faster than Standard Python
>>> https://twitter.com/dogelogch/status/1437395917167112193
>>>
>>> JDK 1.8 GraalVM Python is 6x faster than Standard Python
>>> https://www.facebook.com/groups/dogelog
>>
>> You need to test more than fibonacci to make that claim.  There is a 
>> benchmark test that times around 40 different similarly small benchmarks.
>>
>>
> 



More information about the Python-list mailing list