Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14102
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.prolog |
| Subject | Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) |
| Date | 2024-07-27 12:54 +0200 |
| Message-ID | <v82jll$e3d9$1@solani.org> (permalink) |
| References | (4 earlier) <v82f3o$e0v3$1@solani.org> <v82g0u$dj50$1@solani.org> <v82g93$dj8h$1@solani.org> <v82go6$djin$1@solani.org> <v82h11$djn3$1@solani.org> |
Hi, Or to put it differently: substring sharing could turn a library(pio) into a memory nightmare. Bye Mild Shock schrieb: > Hi, > > The factor is smaller if the source has anyway a > diversity of strings. If the source has a lot of > redundant strings the factor is higher. You > > can explore Prolog compilation techniques that further > deduplicate, but these compilation technqiques are > best appplied by a more broader view, i.e. sharing > > numbers and compounds as well. Only looking at strings > is possibly not worth the effort. But if you > cross compile you don't have to do anything anyway. > > If I cross compile Dogelog Player to Java, the > Jave byte code class format has a constant pools, so > the Java compiler does the deduplication of strings for you. > > A cross compiled Datalog with a lot of foo, bar, baz, ..- > > foo(bar, baz) :- .... > ... > > Will have a compilation output that uses a constant pool, > and the strings in itself foo, bar, baz, etc.. will > be shared. So the factor is again very low for > > cross compiled artefacts. Not sure what Python and JavaScript > do, they might do a constant pooling as well. The constant > pooling is very known for Java byte code class format the > > output of Java compilers, it was already there in the beginning. > > Bye > > Mild Shock schrieb: >> Hi, >> >> Whats then more disturbing, if you try picking subparts >> of the parsing string, and integrate them in the >> parse tree, i.e. your AST. >> >> You then definitively lock the whole parsing source. But >> the parsing source might be a couple of predicate >> definitions, with constant arguments as found in Datalog: >> >> foo(bar, baz) :- .... >> ... >> >> The old school non sharing approach would be to have >> an atom table and you have then deduplicated foo, bar, >> baz, etc... in one place and the source doesn't get >> >> locked. There is a also a new school, which I started >> with Jekejeke Prolog and continued with Dogelog Player. >> You don't share and you don't atom table. >> >> If you don't use atom table, you might have copies >> in your code of foo, bar, baz etc.. But this is only >> a small factor, the used memory is still lower than >> >> locking the whole source. And some Java versions have >> string deduplication garbage collection under the hood now. >> I am not sure what Python and JavaScript do. >> >> But so far I think the small factor of extra memory >> usage is not an issue. >> >> Bye >> >> Mild Shock schrieb: >>> Hi, >>> >>> But such a criteria is not satisfied in parsing, >>> especially if you use the more advanced last call >>> optimization and not only tail recursion optimization. >>> >>> As soon as parsing is deterministic, you can >>> leave behind the string part that you already parsed. >>> So you would need a special sharing that is kind of >>> >>> a weak sharing that can free some head part. There is >>> no such problem of freeing the head part, if you use >>> proper cons cell based lists for parsing. >>> >>> But naive substring sharing doesn't work for Prolog. >>> It will unnecessarely lock the whole string always. >>> Whereas a cell based parser can drop >>> >>> already parsed parts. >>> >>> Bye >
Back to comp.lang.prolog | Previous | Next — Previous in thread | Find similar | Unroll thread
A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024] Mild Shock <janburse@fastmail.fm> - 2024-05-27 19:58 +0200
Re: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024] Mild Shock <janburse@fastmail.fm> - 2024-05-27 20:01 +0200
Scryer Prolog is dead now? (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-20 11:35 +0200
What about the Holy Grail? (Was: Scryer Prolog is dead now?) Mild Shock <janburse@fastmail.fm> - 2024-07-21 17:29 +0200
Is Rust the culprit? (Was: What about the Holy Grail?) Mild Shock <janburse@fastmail.fm> - 2024-07-22 22:16 +0200
Re: Is Rust the culprit? (Was: What about the Holy Grail?) Mild Shock <janburse@fastmail.fm> - 2024-07-22 22:26 +0200
Re: Is Rust the culprit? (Was: What about the Holy Grail?) Mild Shock <janburse@fastmail.fm> - 2024-07-22 22:38 +0200
Night Train to Lisbon (Re: Is Rust the culprit?) Mild Shock <janburse@fastmail.fm> - 2024-10-18 01:35 +0200
Prolog System running on JS/Bun ? (Was: Night Train to Lisbon) Mild Shock <janburse@fastmail.fm> - 2024-11-20 14:20 +0100
Highly bred Hackers: Wallowing in enlightenment (Was: Is Rust the culprit?) Mild Shock <janburse@fastmail.fm> - 2024-10-26 17:43 +0200
Good Bye Stack-Overflow (Was: Highly bred Hackers: Wallowing in enlightenment) Mild Shock <janburse@fastmail.fm> - 2024-11-15 03:16 +0100
Re: Good Bye Stack-Overflow (Was: Highly bred Hackers: Wallowing in enlightenment) Mild Shock <janburse@fastmail.fm> - 2024-11-15 03:24 +0100
Re: Good Bye Stack-Overflow (Was: Highly bred Hackers: Wallowing in enlightenment) Mild Shock <janburse@fastmail.fm> - 2024-11-15 03:28 +0100
Re: Good Bye Stack-Overflow (Was: Highly bred Hackers: Wallowing in enlightenment) Mild Shock <janburse@fastmail.fm> - 2024-11-15 03:54 +0100
they shoot themselves into the foot (Re: Good Bye Stack-Overflow) Mild Shock <janburse@fastmail.fm> - 2024-11-15 16:47 +0100
Re: they shoot themselves into the foot (Re: Good Bye Stack-Overflow) Mild Shock <janburse@fastmail.fm> - 2024-11-15 17:00 +0100
Re: they shoot themselves into the foot (Re: Good Bye Stack-Overflow) Mild Shock <janburse@fastmail.fm> - 2024-11-15 17:11 +0100
Re: they shoot themselves into the foot (Re: Good Bye Stack-Overflow) Mild Shock <janburse@fastmail.fm> - 2024-11-15 18:00 +0100
Can we trust the Scryer Prolog Gurus? (Was: A harsh wind is blowing into the face of Prolog now… ) Mild Shock <janburse@fastmail.fm> - 2024-07-23 00:27 +0200
Re: Can we trust the Scryer Prolog Gurus? (Was: A harsh wind is blowing into the face of Prolog now… ) Mild Shock <janburse@fastmail.fm> - 2024-07-23 00:30 +0200
Re: Can we trust the Scryer Prolog Gurus? (Was: A harsh wind is blowing into the face of Prolog now… ) Mild Shock <janburse@fastmail.fm> - 2024-07-23 00:42 +0200
The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 09:51 +0200
Re: The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 09:52 +0200
Re: The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 10:18 +0200
Re: The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 10:20 +0200
Re: The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 16:38 +0200
Is Scryer Prolog the Air Guitar of Prolog? (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 21:56 +0200
Re: Is Scryer Prolog the Air Guitar of Prolog? (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 23:49 +0200
Re: Is Scryer Prolog the Air Guitar of Prolog? (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-24 22:21 +0200
Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-26 15:38 +0200
Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-26 15:41 +0200
Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 11:27 +0200
Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 11:36 +0200
Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 11:52 +0200
Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 11:56 +0200
Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 12:04 +0200
Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 12:09 +0200
Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 12:54 +0200
csiph-web