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


Groups > comp.lang.javascript > #124420

Supersonic FF for Railgun CLP(FD) (Re: Porting Railgun CLP(FD) to SWI-Prolog)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.javascript
Subject Supersonic FF for Railgun CLP(FD) (Re: Porting Railgun CLP(FD) to SWI-Prolog)
Date 2026-01-21 21:26 +0100
Message-ID <10krcpa$gm21$2@solani.org> (permalink)
References <10g1dmr$hf3g$3@solani.org> <10gc7p1$od7n$4@solani.org> <10k16u8$32itq$3@solani.org>

Show all headers | View raw


We recently presented a fast constraint solver
termed Railgun CLP(FD) that modelled attributed
variables simply via ‘$ATTR’/2 compounds. We
already went through an iteration which allowed
(#\=)/2 constraints. In this instalment we
present some further progress. In particular we
intoduce a discount(C) = 1/k heuristic.

We demonstrated an additional scoring of variables
among the same degree to improve the static variable
ordering (SVO). It can give a 100x times speed up
in a magic square example. Putting Dogelog Player
on equal foot with SWI and ECLiPSe, while recent
versions of Scryer and Trealla were still 10x-30x
times slower.

See also:

Supersonic FF for Railgun CLP(FD)
https://qiita.com/j4n_bur53/items/0d1334f1f4c2234f3f47

Mild Shock schrieb:
> 
> We recently presented a fast constraint solver
> termed Railgun CLP(FD) that modelled attributed
> variables simply via ‘$ATTR’/2 compounds and could
> deal with integer dif/2 constraints. In this
> instalment we allow (#\=)2 constraints and demonstrate
> that it can be ported to SWI-Prolog.
> 
> Using polyfill for ‘$SEQ’/2 from Dogelog Player,
> we observed that running Railgun CLP(FD) inside
> SWI-Prolog gives a 2–3x speed-up for the Queens
> example, on both 32-bit and 64-bit. On the other
> hand the price tag for big integer flexibility
> seems to be a factor 35x slow down.
> 
> See also:
> 
> Porting Railgun CLP(FD) to SWI-Prolog
> https://medium.com/2989/e9f2ef4e6878

Back to comp.lang.javascript | Previous | NextPrevious in thread | Find similar


Thread

ANN: Dogelog Player 2.1.3 (Dot Notation) Mild Shock <janburse@fastmail.fm> - 2025-11-24 11:57 +0100
  Porting Railgun CLP(FD) to SWI-Prolog (Re: Lean CLP for Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2026-01-11 23:07 +0100
    Supersonic FF for Railgun CLP(FD) (Re: Porting Railgun CLP(FD) to SWI-Prolog) Mild Shock <janburse@fastmail.fm> - 2026-01-21 21:26 +0100

csiph-web