delay function is not working in standalone arduino

i make a standalone arduino on bread board, i load arduino blink sketch using usbasp. but delay function is giving a large delay for

delay(1000); // giving more than 5 sec delay

what could be the problem in it ?

i use newly purchased atmega328p, does i have to set its fusebits for 16 mhz crystal to solve this issue ?

thanks in advanced...

what could be the problem in it ?

Could be your oscillator circuit.

Maybe the way it is wired which we can not see.
Maybe your sketch which we can not see.

pradeepgoel044:
i load arduino blink sketch using usbasp.

what could be the problem in it ?

i use newly purchased atmega328p, does i have to set its fusebits for 16 mhz crystal to solve this issue ?

Yes, you should set fusebits.

There's some threads discussing barebone Arduino, which is what this is.
Try to find those and see what problems other users encountered and how they were solved.
There's a keyword in this reply you can use with the search function of this board, found on top right of any page.