@tqviet already says this in a some way, but let me phrase it differently: $10^6$ is not a large end time by itself. It seems like a large number because it has 6 zeros at the end, but it all depends on (i) which units you compute it, (ii) how fast the effects are that you are trying to model.
To give examples: If I told you that you had to compute to $10^6$ picoseconds, you would probably not think of that as a long time -- it is, after all, just $10^{-6}$ seconds. But what really matters is how long that is in relation to the things you try to describe. Even $10^6$ years is not very much if you try to simulate the evolution of a galaxy -- these things happen on time scales of billions of years, so $10^6$ could probably be done in one or just a few time steps. On the other hand, if you try to simulate the weather -- which works on time scales of hours -- then $10^6$ years clearly is a very very long time. Indeed, if your goal were to simulate the motion of electrons in semiconductors -- which works on time scales of nanoseconds or even less -- then $10^6$ years is an even longer time interval. In other words, it really depends on what you are looking at.
This leads to the last observation: You are using time steps of size $0.01$. But why? Because you think that time steps need to be small (so significantly smaller than 1, in whatever unit you are using), or because the dynamics of your system happen on time scales of 0.01 time units? In the latter case, the choice is clearly valid. But if the dynamics of your system happen on time scales of ~100 or ~1000 or even more time units, then there is no need for such small time steps: you should be able to use $\Delta t=10, 100$, or even more. In that case, you will be at your end time very quickly indeed.