• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

4.43.1 Garbage collection
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
      • Built-in Predicates
        • Memory Management
          • Garbage collection
            • garbage_collect/0
            • garbage_collect_atoms/0
            • blob_type_property/2
            • set_blob_type/2
            • garbage_collect_clauses/0
            • set_prolog_gc_thread/1
            • trim_stacks/0
            • set_prolog_stack/2
            • prolog_stack_property/2
    • Packages
Availability:built-in
blob_type_property(?Type, ?Property)
True when the registered blob type Type has Property. With Type unbound this enumerates the registered types; note that a type is registered on first use, so a type whose library has not yet created a blob is not enumerated. Defined properties are below; only gc_margin(Units) can be set, using set_blob_type/2.
unique
text
nocopy
wchar
The PL_BLOB_* flags of the type, present only if set. See section 12.4.10.1.
rank(Integer)
Position of the type in the standard order of terms. The order between types is assigned as they are registered and is thus not stable over runs.
padding(Bytes)
Zero bytes added after the data of a copied blob.
gc_margin(Units)
Request atom garbage collection once this many units of Type have become candidates for it. A blob counts with the length it was created with, so the unit is bytes for text and for types that report what they retain, and instances for types that report 1. 0, the default for every type, leaves Type to agc_margin, which counts atoms regardless of what they keep alive. Setting agc_margin to zero disables atom garbage collection and no type budget overrides that. See section 12.4.10.3.
unregistered(Units)
How much of Type is currently a candidate for collection, in the same units. Compare against gc_margin(Units) to see how far behind collection is.
non_garbage(Units)
How much the last collection found to be live and therefore discounted. The next request needs gc_margin(Units) on top of this, which is what stops a type whose blobs are live from asking repeatedly.
live(Count)
space(Units)
The number of blobs of this type that exist and what they hold. Unlike counting current_blob/2 these are maintained as blobs come and go and do not scan the atom table.
ClioPatria (version V3.1.1-59-g7b9a7a3)