Skip to content

libtracker-sparql/direct: Prune content of already executed batches

Carlos Garnacho requested to merge wip/carlosg/prune-batch into master

When using TrackerBatch from a garbage collected language, we have little control over the actual lifetime of a batch object, while at the same time we keep the GC unaware about how much memory does really depend on that object. This may cause RAM usage spikes when the GC hoards too many already executed batches during intensive data insertion.

A TrackerBatch is a single-use object though, in order to ease this memory usage, we can dispose early of all inserted resources and SPARQL updates right after execution, so the TrackerBatch is left a husk when all that is left to do with it is freeing it.

Merge request reports