Is there a difference between setVisible(0) and end object?

Is there a difference between setVisible(0) and endObject for the performance of the game?
I mean which is better for the performance - to end object or to set it invisible?
And which is better to set it invisible or to replace the mesh with empty?

yes
set invisible free the pc only from the rendering part as far as i know , but when an object is there but invisible it still takes a memory block for location current ipo frame , etc …