The features described in this section should be regarded alpha.
As of version 2.0.0, SWI-Prolog supports compilation of individual or multiple Prolog sourcefiles into `Quick Load Files'. A `Quick Load Files' (qlf file) stores the contents of the file in a precompiled format.
These files load considerably faster than sourcefiles and are normally more compact. They are machine independent and may thus be loaded on any implementation of SWI-Prolog. Note however that clauses are stored as virtual machine instructions. Changes to the compiler will generally make old compiled files unusable.
Quick Load Files are created using qcompile1. They are loaded using consult1 or one of the other file-loading predicates described in consulting. If consult is given the explicit pl file, it will load the Prolog source. When given the qlf file, it will load the file. When no extension is specified, it will load the qlf file when present and the fileextpl file otherwise.
If the file contains `:- consult(+File)' or `:- [+File]' statements, the referred files are compiled into the same qlf file. Other directives will be stored in the qlf file and executed in the same fashion as when loading the pl file.
For term_expansion2, the same rules as described in compilation apply.
Source references (source_file2) in the Quick Load File refer to the Prolog source file from which the compiled code originates.