Why do i find glbindtexture so damn slow???

i’m a real newbie in opengl, and i was making a simple terrain demo,using bout 16 textures. Since it was realy realy slow i tryed to do a realy stupid optimization:
bind each texture and cross the terrain and find were that fit and draw it.
Amazingly i got almost double performance.
Note: I used immediate mode
I don’t use c,i use delphi,but i can’t see how delphi could be blamed

Sorting by texture does improve performance a lot. Since every card today has texture caches it’ll always pay off drawing sorted by texture.