Sujet : Is Rust the culprit? (Was: What about the Holy Grail?)
De : janburse (at) *nospam* fastmail.fm (Mild Shock)
Groupes : comp.lang.prologDate : 22. Jul 2024, 21:16:07
Autres entêtes
Message-ID : <v7mem6$6uld$1@solani.org>
References : 1 2 3
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.18.2
Maybe Scryer Prolog is a failure, because Rust
is a failure. Building Scryer Prolog on my machine,
after a git pull of a small change, did just
take this much time:
$ time cargo build --release
[...]
real 6m52.663s
user 7m39.043s
sys 0m3.241s
What did Rust do? And this tabling test case,
2000 shuttle, hangs:
/* Scryer Prolog 0.9.4-107 */
?- use_module(library(tabling)).
true.
?- [user].
:- table c/1.
c(X) :- c(Y), 0 =< Y, Y < 20000, X is -Y-1.
c(X) :- c(Y), -20000 < Y, Y =< 0, X is -Y+1.
c(0).
?- time(c(_)).
%%% hangs ? %%%
It is solved in a blink in SWI-Prolog:
/* SWI-Prolog 9.3.8 */
?- time(c(_)).
% 540,077 inferences, 0.047 CPU in 0.051 seconds (92% CPU, 11521643 Lips)
true .
The test case is from here:
https://github.com/JanWielemaker/tabling_benchmarks/tree/master