14.1.1 Virtual Machine
- The internal representation of Prolog terms and code has been
redesigned, resulting in code that runs up to twice as fast as in release 3.
- Certain memory limitations that existed in release 3 have been
dropped. All available virtual memory can be used without any
limitations imposed by SICStus Prolog.
- The limitations on “temporary” and “permanent” variables
for compiled clauses have been dropped. There is no size limit on
compiled clauses.
- The number of available atoms is four times larger than in release 3
(1M atoms are available on 32-bit platforms).
- The range of small integers is eight times larger than in release 3.
Although the size of integers is practically unbounded, small integers are handled
more efficiently than other numbers.
- Multifile predicates are compiled by default; in release 3, they could
not be compiled.
- Native code compilation has been dropped.
Update: JIT, a different variant of native code compilation, was added in release 4.3.0.
- Execution profiling is available for compiled as well as interpreted code.
The profiling data accessible by
profile_data/1
and
library(gauge)
is more precise. Some of the choices of release
3 have been dropped.
- Execution profiling has been generalized to support coverage analysis
for compiled as well as interpreted code.
Send feedback on this subject.