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.
--
https://mail.python.org/mailman/listinfo/python-list