Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14801
| Path | csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail |
|---|---|
| From | Mild Shock <janburse@fastmail.fm> |
| Newsgroups | comp.lang.prolog |
| Subject | SWI-Prolog needs linear time (Was: Frozen Prolog Terms make copy_term/2 constant) |
| Date | Thu, 21 Aug 2025 03:30:24 +0200 |
| Message-ID | <1085src$brmu$2@solani.org> (permalink) |
| References | <107vi9k$7t1e$1@solani.org> <1085sot$brmu$1@solani.org> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=UTF-8; format=flowed |
| Content-Transfer-Encoding | 8bit |
| Injection-Date | Thu, 21 Aug 2025 01:30:20 -0000 (UTC) |
| Injection-Info | solani.org; logging-data="388830"; mail-complaints-to="abuse@news.solani.org" |
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.21 |
| Cancel-Lock | sha1:OCbq39I7sdekgPOcn3+mTw6+FQs= |
| X-User-ID | eJwFwQkBwDAIA0BLZYRA5fAU/xJ2Z0phO2iEra1o9MR5fQPwJzlToIqTy6dZToSO8OtaP6gY5Lnqk/5dez9MfhVB |
| In-Reply-To | <1085sot$brmu$1@solani.org> |
| Xref | csiph.com comp.lang.prolog:14801 |
Show key headers only | View raw
Hi, I get for SWI-Prolog WASM, that copy is faster than knowledge base fact access: /* SWI-Prolog WASM, copy_term/2 testing */ ?- test2(10). (645.4ms) ?- test2(30). (1056.5ms) ?- test2(90). (2245.2ms) For example copying the 90 element list takes only 2245.2ms while acccessing the 90 element list from facts takes 5372.3ms, see previous post. But the copy_term/2 is nevertheless linear. Bye Mild Shock schrieb: > Hi, > > Frozen Prolog terms don’t need to be traversed to know > whether they are ground. They have a GC mask information > that shows that they are program shared (PS) ground Prolog > > terms, so that copy can immediately return. One can modify > the testing slightly, going from this here in frozen.pl: > > test(N) :- between(1,1000,_), data(N,_), fail. > test(_). > > test2(N) :- between(1,1000,_), test(N), fail. > test2(_). > > To this here, unfortunately copy_term/2 not available in WebPL: > > test(X) :- between(1,1000,_), copy_term(X,_), fail. > test(_). > > test2(N) :- data(N,X), between(1,1000,_), test(X), fail. > test2(_). > > So basically departing from testing whether a first access > to a program sharing structure is fast, into testing > whether copy_term/2 has some smarts to detect > > program sharing structures. > > Bye > > Mild Shock schrieb: >> Hi, >> >> J Strother Moore II is the Original Gangster (OG) >> of program sharng. Interestingly structure sharing >> meant always program sharing in the theorem >> >> proving community back then: >> >> COMPUTATIONAL LOGIC: STRUCTURE SHARING AND >> PROOF OF PROGRAM PROPERTIES >> J Strother Moore II - 1973 >> https://era.ed.ac.uk/bitstream/handle/1842/2245/Moore-Thesis-1973-OCR.pdf >> >> Only the WAM community managed to intsitutionalize >> the term structure sharng, as a reduced form of >> program sharing, namely goal argument sharing >> >> not using pairs of two pointers with skeleton and binding >> environment anymore, to indentify a Prolog term, >> but simple single pointers for a Prolog term. >> >> Bye >> >
Back to comp.lang.prolog | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
The roots Program Sharing (PS): J Strother Moore II (1973) Mild Shock <janburse@fastmail.fm> - 2025-08-18 17:53 +0200
Avoiding OCCUR Checks / The BAROQUE Language (Was: The roots Program Sharing (PS): J Strother Moore II (1973)) Mild Shock <janburse@fastmail.fm> - 2025-08-18 18:00 +0200
Frozen Prolog Terms make copy_term/2 constant (Was: The roots Program Sharing (PS): J Strother Moore II (1973) Mild Shock <janburse@fastmail.fm> - 2025-08-21 03:29 +0200
SWI-Prolog needs linear time (Was: Frozen Prolog Terms make copy_term/2 constant) Mild Shock <janburse@fastmail.fm> - 2025-08-21 03:30 +0200
Old Lady with Double Pointers and Frozen Info (Was: SWI-Prolog needs linear time) Mild Shock <janburse@fastmail.fm> - 2025-08-21 03:31 +0200
csiph-web