Skip to content


When a particle is promising, the sequential Monte Carlo algorithm may clone it, by calling copy.deepcopy.

Depending on your model, this may be more or less expensive.

To make it faster, override the immutable_properties(self) method of your Model class, to return a set[str] of property names that are guaranteed not to change during step. For all properties in this set, LLaMPPL will use shared memory across particles, and avoid copying when cloning particles.