Best Performance (Visibility OR Destroy)?

I always first hide the objects, and design the callflow for not calculating except for check at tick event. e.g if( hidden) then nothing. then in times that my effects are done and I know events in which after them cpu is not busy then will destroy them. it gives a good result for me.
also you can later decide whether to destroy them completely or reuse them in you scene