this holds for all architectures (also 32-bit systems)

This commit is contained in:
Markus Triska
2023-09-08 23:22:36 +02:00
parent 920e0c6b56
commit b843b76b7a

View File

@@ -363,14 +363,14 @@ innovations of Scryer Prolog. This means that terms which appear as
lists of characters to Prolog programs are stored in packed
UTF-8 encoding by the engine.
Without this innovation, storing a list of characters in memory
would use one memory cell per character, one memory cell per
list constructor, and one memory cell for each tail that occurs
in the list. Since one memory cell takes 8 bytes on 64-bit
machines, the packed representation used by Scryer Prolog yields
an up to **24-fold reduction** of memory usage, and
corresponding reduction of memory accesses when creating and
processing strings.
Without this innovation, storing a list of characters in memory would
use one WAM memory cell per character, one cell per list
constructor, and one cell for each tail that occurs in the list. Since
one cell takes 8 bytes in the WAM as implemented by
Scryer Prolog, the packed representation yields an up to
**24-fold reduction** of memory usage, and corresponding
reduction of memory accesses when creating and processing
strings.
Scryer Prolog's compact internal string representation makes it
ideally suited for the use case Prolog was originally developed for: