by a factor of 8
when you see this phrase with an atmel 8bit, think clock prescale. They typically ship with CKDIV8 fuse on, which means the clock prescale is set to 8 on powerup/reset. The bootloader (factory built-in or otherwise) will most certainly set the clock prescale to 1, and in this case it appears the bootloader just 'jumps' to the app when done programming as opposed to some some form of reset (leaving CLKPR as it was set in the bootloader- I'm not a big fan of when they just jump to apps after mucking up a bunch of registers).
in your code, clear the clock prescale to get 1:1
CLKPR = 0x80; //enable change
CLKPR = 0; //1:1
I would assume Arduino is supposed to do all this stuff for you, so there is probably some setting somewhere for this.
Anyway, that's one possibility.