performance question about particles and instantiating

ok so i have a light prefab that i can shoot out and when it gets shot out it instantiates a spark particle from the resources folder where it collides,
and i put these light prefabs all over levels

my question is what is my best way to play the particle at a collision point that is best for performance

should i:

-have 1 particle in the scene and move it and play it at each collision

-have a particle as part of each prefab and just play it

-instantiate the particle when it collides (how i have it now)

i really dont know what would be the least laggy way…thanks

Reusing a single particle is the fastest – But: the most reliable way is to Instantiate each time. it can often be a pain to properly reset reused items.

Test running it without any particles. If there’s no change in “lagginess,” then just leave it and move on.