I'm coding a small rendering engine with OpenGL and I have a doubt about glEnable/glDisable:

In my rendering loop I first set a bunch of default states (TEXTURE_2D and vertex/color arrays), then each single object draws itself and finally the default states are disabled before swapping buffers. What I am unsure about is: is it more efficient to enable those default states only once and leave them enabled all the time instead of disabling/enabling them at the start/end of each loop?