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


Groups > comp.lang.prolog > #15908

MADV_HAWAII: Aloha from the 300ms Abyss [Exception Handling in Prolog] (Re: AI Accelerators and ISO Prolog multi-threading)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject MADV_HAWAII: Aloha from the 300ms Abyss [Exception Handling in Prolog] (Re: AI Accelerators and ISO Prolog multi-threading)
Date 2026-09-10 23:42 +0200
Message-ID <117v88c$1n4v$1@solani.org> (permalink)
References <107cdg8$3ok7g$1@solani.org> <10p44s1$16ps$1@solani.org> <114cv6j$kb0c$1@solani.org>

Show all headers | View raw


Hi,

Finally unlimited catch/throw arrived in Dogelog
Player. We do not anymore depend on the Java native
stack. The handling got a little bit slower, working

on to get back the same speed. But its pretty robust
already and takes a 1'000'000 catch/3 without problems.
Here some testing results:

/* Dogelog Player 2.3.1 for Java */
% ?- between(1,3,_), time(test), fail; true.
% % Zeit 315.037 ms, Benutzer 100 %, Lips 22224 k
% % Zeit 379.011 ms, Benutzer 100 %, Lips 18473 k
% % Zeit 207.902 ms, Benutzer 100 %, Lips 33682 k
% true.

/* Trealla Prolog 3.9.40 */
% ?- between(1,3,_), time(test), fail; true.
% % Execution aborted
% % CPU elapsed 2.141s, 4_000_323 inferences, 1.869 MLips

/* Scryer Prolog 0.10.0 */
% ?- between(1,3,_), time(test), fail; true.
%    % CPU time: 0.281s, 3_000_059 inferences
%    % CPU time: 0.281s, 3_000_059 inferences
%    % CPU time: 0.281s, 3_000_059 inferences
%    true.

/* SWI-Prolog 10.1.14 */
% ?- between(1,3,_), time(test), fail; true.
% % 3,000,007 inferences, 0.281 CPU in 0.389 seconds
% % 3,000,007 inferences, 0.062 CPU in 0.064 seconds
% % 3,000,007 inferences, 0.062 CPU in 0.063 seconds
% true.

What is SWI doing in the first run? Does it
send the throw ball to Hawaii and back?

Bye

BTW: This was the test case:

deep(0,G) :- !, G.
deep(N,G) :- M is N-1, catch(deep(M,G),foo,true).

test :- catch(deep(1000000,throw(bar)),_,true).

Mild Shock schrieb:
> Hi,
> 
> Usual question:
> 
>  > Why implement both pre-emptive threading
> AND cooperative tasks/engines?
> 
> I had implemented the ISO proposal in formerly Jekejeke
> Prolog, you find the ISO proposal here:
> 
> ISO/IEC DTR 13211–5:2007
> Prolog multi-threading support
> https://logtalk.org/plstd/threads.pdf
> 
> But the ISO proposal doesn't match modern WebGPU APIs,
> where your logical threads can live remotely in a dedicated GPU
> 
> in the VRAM there, and where you would have launch
> parameters that say: Hey please run 4096 compute
> 
> shaders for me, that have independet thread state. Using
> cooperative multi-tasking as the orchestrator works well.
> 
> Bye

Back to comp.lang.prolog | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

VIP0909: VibeCore Improvement Proposal Mild Shock <janburse@fastmail.fm> - 2025-08-11 11:35 +0200
  VIP0111: Does a Map have a Constructor? (Was: VIP0909: VibeCore Improvement Proposal) Mild Shock <janburse@fastmail.fm> - 2026-03-14 18:11 +0100
    100% Prolog Hash map beats SWI C Trie (Was: VIP0111: Does a Map have a Constructor?) Mild Shock <janburse@fastmail.fm> - 2026-03-17 04:07 +0100
    AI Accelerators and ISO Prolog multi-threading (Was: VIP0111: Does a Map have a Constructor?) Mild Shock <janburse@fastmail.fm> - 2026-07-29 15:28 +0200
      Actor/Erlang is dead, no Thread and Mailbox conflation [golang channels] (Was: AI Accelerators and ISO Prolog multi-threading) Mild Shock <janburse@fastmail.fm> - 2026-07-29 15:41 +0200
        Summer Challenge: libSQL = Prolog+Modes [VDBE versus π-WAM] (Was: Actor/Erlang is dead, no Thread and Mailbox conflation [golang channels]) Mild Shock <janburse@fastmail.fm> - 2026-07-30 11:22 +0200
          Work slicing can simulate AbortController (Was: Summer Challenge: libSQL = Prolog+Modes [VDBE versus π-WAM]) Mild Shock <janburse@fastmail.fm> - 2026-08-01 13:23 +0200
      Introducing an asm/1 statement in a Prolog system (Was: AI Accelerators and ISO Prolog multi-threading) Mild Shock <janburse@fastmail.fm> - 2026-08-09 20:21 +0200
      Introducing an asm/1 statement in a Prolog system (Re: AI Accelerators and ISO Prolog multi-threading) Mild Shock <janburse@fastmail.fm> - 2026-08-09 20:25 +0200
      MADV_HAWAII: Aloha from the 300ms Abyss [Exception Handling in Prolog] (Re: AI Accelerators and ISO Prolog multi-threading) Mild Shock <janburse@fastmail.fm> - 2026-09-10 23:42 +0200
        MADV_HAWAII: Aloha from Minimal Terms (Was: MADV_HAWAII: Aloha from the 300ms Abyss) Mild Shock <janburse@fastmail.fm> - 2026-09-14 14:43 +0200
          MADV_HAWAII: Decomposing the Ouroboros Road (Was: MADV_HAWAII: Aloha from the 300ms Abyss) Mild Shock <janburse@fastmail.fm> - 2026-09-20 18:30 +0200
    Food for thought: Schwartzian Transform (Was: VIP0111: Does a Map have a Constructor?) Mild Shock <janburse@fastmail.fm> - 2026-09-23 22:01 +0200
      Food for thought: Bayesian Experimental Designer (Was: Food for thought: Schwartzian Transform) Mild Shock <janburse@fastmail.fm> - 2026-09-24 14:32 +0200
        What will microsoft say, will they buy it? (Was: Food for thought: Bayesian Experimental Designer) Mild Shock <janburse@fastmail.fm> - 2026-09-24 15:34 +0200
          The recursive AI bottom line (Was: What will microsoft say, will they buy it?) Mild Shock <janburse@fastmail.fm> - 2026-09-24 15:38 +0200

csiph-web