As someone interested in terraforming, the main obstacle to colonizing Mars is the lack of a magnetosphere and Atmosphere. To create a magnetosphere of sufficient magnitude the Martian core must be reignited. There are several ways to do this, some of which involve using electric current to restart the core, but the most feasible way it seems would be to take an asteroid of sufficient size and slingshot it into Mars. Doing so would reignite the core resulting in increased volcanic activity, the formation of a thick and stable atmosphere, etc.
It seems to be the perfect solution despite the fact that doing so would be a long term investment. I was wondering - based on what we know of the Earth's development - how long would it take Mars to cool after an asteroid impact of sufficient size? are we talking millions or billions of years?