Sujet : Re: ANN: Dogelog Player 1.2.0 (Binary Streams)
De : janburse (at) *nospam* fastmail.fm (Mild Shock)
Groupes : comp.lang.pythonDate : 01. Jun 2024, 22:30:34
Autres entêtes
Message-ID : <v3g0d9$12l8n$2@solani.org>
References : 1 2
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.18.2
Dogelog Player is a Prolog system 100% written
in Prolog itself. This goal cannot always be
sustained, especially when one wants to keep up
with the competition. We show how a native
implementation of sort/2 and keysort/2 lead us
to a new take on our garbage collection.
In the presence of native sort our trigger GC
becomes blind resulting in a memory overflow. We
therefore abandoned the corresponding bureaucracy
and opted for a simpler metronome GC. The approach
seems to work and we can demonstrate competitiveness.
See also:
Metronome GC for Dogelog Player
https://twitter.com/dogelogch/status/1797000216849039827Metronome GC for Dogelog Player
https://www.facebook.com/groups/dogelogMild Shock schrieb:
Dogelog Player is a Prolog system 100% written
in Prolog itself. It is unique among Prolog systems
in that it does not have a concept of a stack frame,
so a DEC10 ancestor/1 built-in or even error
backtraces are not available by design.
We were interested in a larger example to see whether
this design pays off. In the following we show an
implementation of Linear Conflict A* Search to
solve 8-puzzles and compare with newer Prolog
systems such as Scryer Prolog and Trealla Prolog.
One gets an itch more heuristic power by adding
on top of Manhattan distance a goal conflict
measure. Performance wise SWI-Prolog still
leads the pack, but we leave behind both Scryer-Prolog
and Trealla Prolog. Interestingly we are also
not bugged by some break out in the 2nd test.
See also:
Linear Conflict A* Search in Dogelog Player
https://www.facebook.com/groups/dogelog
Linear Conflict A* Search in Dogelog Player
https://twitter.com/dogelogch/status/1795710383682118115
Mild Shock schrieb:
Dear All,
>
We are happy to announce a new edition
of the Dogelog player:
>
- Quasi-Parallel Loader:
The Prolog text loader is now task aware.
Although tasks are only quasi-parallel, issues
of mutex might appear, which have been solved
by using the meta call shield/1 which temporarly
disables auto-yield. Back traces showing the
current file loading chain are now task local.
>
- Binary Files:
As before the target platforms JavaScript
nodeJS, Python and Java support file system
access. A new open option type/1 has been added,
which can have the values 'text' or 'binary' and
which defaults to 'text'. 'binary' is simply
treated as 'text' with latin1 encoding instead of utf8.
>
- Binary HTTP:
To give the benefit of a simple binary
treatment to the HTTP protocol as well, i.e. no
extra get_byte/[1,2] builtins and no extra byte
array datatype, since codes and atoms can be used
as before, we braught the type/1 option to the
APIs of the HTTP clients and the HTTP servers.
>
Have Fun!
Jan Burse, 22.05.2024, http://www.xlog.ch/