One compiler significantly faster than another. Why?

I can't speak as a master coder since I have little training in it, but currently I am working on a product line optimization problem which is very demanding in terms of needing to perform allot of sorting, searching and math so in the code I am using pointers, linked list and quick sorts for just about everything and I am generally doing all I can with my limited software knowledge to make it fast and efficient. The code is 32 bit in both cases since it is a mathematically static analysis and faster since there are no differential equations. I have the Microsoft VS2010 and Embarcadero XE proffessional versions on my machine and the code is running faster on the Borland compiler despite the lack of open mp support for parallelization. The MS code has some different for loops to permit parallel operation which speeds it up significantly with respect to the non parallel code on MS but the code is not only running faster on the Borland compiler, but about twice as fast. Why is this??? I am not using managed code in either case.