Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > sci.math > #639396

The pairs are nasty, otherwise not always slow! (Re: Novacore goes Bisimulation: Scryer Prolog is Slow!)

From Mild Shock <janburse@fastmail.fm>
Newsgroups sci.math
Subject The pairs are nasty, otherwise not always slow! (Re: Novacore goes Bisimulation: Scryer Prolog is Slow!)
Date 2025-07-30 14:44 +0200
Message-ID <106d42l$33hel$1@solani.org> (permalink)
References <105vtcp$2r2g0$4@solani.org>

Show all headers | View raw


Hi,

Looks like the pairs are really nasty.
I have them on the Novacore GIT.

This one is no problem for Scryer-Prolog:

test :-
    share(X), share(Y), X == Y.

/* SWI-Prolog 9.3.26 */
?- time(test).
% 32,140 inferences, 0.000 CPU in 0.002 seconds (0% CPU, Infinite Lips)
true.

/* Scryer Prolog 0.9.4-417 */
?- time(test).
    % CPU time: 0.006s, 32_042 inferences
    true.

/* Trealla Prolog 2.79.6 */
?- time(test).
% Time elapsed 0.016s, 42012 Inferences, 2.582 MLips
    true.

/* Dogelog Player 1.3.5 */
?- time(test2).
% % Zeit 83 ms, GC 0 ms, Lips 12117469, Uhr 30.07.2025 05:47
% true.

The Dogelog Player solutions uses a variant
of library(hash), called library(maps).
But hash tables are itself 100% Prolog.

Bye

Mild Shock schrieb:
> Hi,
> 
> Having fun with Bisimulation, and a new test
> suite of nasty circular pairs. But how store
> circular pairs, if clauses do not support
> 
> circular terms. Well chop it up into equations,
> I create 1000 such equation pairs:
> 
> test([A = c(A, B), C = c(A, D), E = n, _ = c(F, B),
>        F = c(C, C), G = c(G, D), D = c(E, C), B = n],
>       [H = c(H, I), J = c(K, I), L = c(L, I), I = c(M, N),
>        O = c(K, J), N = n, K = c(K, J), M = c(K, O)]).
> Etc..
> 
> The pairs are nasty because the usual compare_with_stack/2
> chokes on them. Here some results:
> 
> /* SWI-Prolog 9.3.26 */
> ?- time((between(1,30,_), part, fail; true)).
> % 540,118 inferences, 0.047 CPU in 0.041 seconds (115% CPU, 11522517 Lips)
> true.
> 
> /* Trealla Prolog 2.78.40 */
> ?- time((between(1,30,_), part, fail; true)).
> % Time elapsed 0.113s, 1143903 Inferences, 10.157 MLips
>     true.
> 
> /* Scryer Prolog 0.9.4-417 */
> ?- time((between(1,30,_), part, fail; true)).
>     % CPU time: 0.226s, 1_117_809 inferences
>     true.
> 
> /* Dogelog Player 1.3.5 */
> ?- time((between(1,30,_), part2, fail; true)).
> % Zeit 309 ms, GC 0 ms, Lips 8693718, Uhr 25.07.2025 13:47
> true.
> 
> The amazing thing is, I compared a 100% Prolog
> implementation, so there is a lot of head room
> for improvement:
> 
> part2 :-
>     bitest(X,Y), X ~~ Y, fail; true.
> 
> The operator (~~)/2 is part of library(math),
> and has been implemented with same_term/2 so far.
> 
> Bye

Back to sci.math | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Novacore goes Bisimulation: Scryer Prolog is Slow! Mild Shock <janburse@fastmail.fm> - 2025-07-25 14:30 +0200
  Is Mild Shock going rogue? (Re: Novacore goes Bisimulation: Scryer Prolog is Slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-25 14:32 +0200
    Is Mostowski Collapse a professional mathematician (Re: Is Mild Shock going rogue?) Mild Shock <janburse@fastmail.fm> - 2025-07-25 14:32 +0200
      New Project Name: NovaCore becomes VibeCore (Re: Is Mostowski Collapse a professional mathematician) Mild Shock <janburse@fastmail.fm> - 2025-07-25 14:43 +0200
  The End of Deutsch-Schorr-Waite [cycle_detection.rs] (Re: Novacore goes Bisimulation: Scryer Prolog is Slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-28 10:51 +0200
    Backtracking Branching Association List (Was: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Mild Shock <janburse@fastmail.fm> - 2025-07-28 10:57 +0200
      Do it like in acyclic_decompose/3 (Was: Backtracking Branching Association List) Mild Shock <janburse@fastmail.fm> - 2025-07-28 11:39 +0200
        Cache-Trashing vs Cache-Friendly [Code Example] (Re: Do it like in acyclic_decompose/3) Mild Shock <janburse@fastmail.fm> - 2025-07-28 17:27 +0200
    Re: The End of Deutsch-Schorr-Waite [cycle_detection.rs] (Re: Novacore goes Bisimulation: Scryer Prolog is Slow!) Jordon Molokovsky <ovm@lorr.ru> - 2025-07-28 12:56 +0000
      I guess your brain was "overheating" (Re: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Mild Shock <janburse@fastmail.fm> - 2025-07-28 17:17 +0200
        Re: I guess your brain was "overheating" (Re: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Alton Grammatakakis <kl@aaasi.gr> - 2025-07-28 16:09 +0000
          The difference is only in one letter "t" or "d" (Was: I guess your brain was "overheating") Mild Shock <janburse@fastmail.fm> - 2025-07-28 21:17 +0200
          Re: You literally wrote "overheat" (Re: I guess your brain was "overheating" (Re: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Neury Valetov <ntt@uovrav.ru> - 2025-07-28 19:44 +0000
            Don't put large memory in your computer it might "overheat" (Re: You literally wrote "overheat") Mild Shock <janburse@fastmail.fm> - 2025-07-29 15:57 +0200
            Re: Don't put large memory in your computer it might "overheat" (Was: You literally wrote "overheat") Mizraim Zelenenkov <iall@zm.ru> - 2025-07-29 16:00 +0000
              Why Russ Bots Again: Micro Penis? (Was: Don't put large memory in your computer it might "overheat" ) Mild Shock <janburse@fastmail.fm> - 2025-07-29 23:16 +0200
      Re: I guess your brain was "overheating" (Re: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Emile Paduchev <mcc@clleeeme.ru> - 2025-07-28 15:53 +0000
        You literally wrote "overheat" (Was: I guess your brain was "overheating") Mild Shock <janburse@fastmail.fm> - 2025-07-28 21:19 +0200
    Entering the Age of Rational Trees (2025) (Re: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Mild Shock <janburse@fastmail.fm> - 2025-08-16 13:05 +0200
  The pairs are nasty, otherwise not always slow! (Re: Novacore goes Bisimulation: Scryer Prolog is Slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-30 14:44 +0200
  It was painful for my GC, but fixed now (Was: The pairs are nasty, otherwise not always slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-30 14:49 +0200

csiph-web