exection time

why same code take different execution time when we run it again and again ?

Which execution time are you talking about?

1> Time for the program to start (varies due to the fact that the program is present in the memory/free memory is available)

2> Time for the program to solve the same input
(will vary if the program struggles to get memory allocated to it)

3> Time for compilation
(variation is observed because only the parts changed are recompiled)

NOTE: Assuming C++