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