AVR SPI slower than expected
What is your code optimization set to?? I would look at the disassembly of your generated code, you have to remember that there are some instructions that must performed to carry your for loop and integrated over 5000 repetitions might up to the 9 milliseconds. I recommend you check this application note by atmel called Tips and Tricks to Optimize 
Your C Code for 8-bit AVR Microcontrollers, and read the loop index section and try their tips to see if you can reduce the instructions required to perform the for loop operation