as my hard disk was giving me some I/O errors
Existe o seu problema. Não no próprio sistema operacional.
O que quase certamente aconteceu é que seu disco não conseguiu ler alguns setores. Lá as coisas acontecem. Quando isso acontece, o drive tenta algumas vezes até obter sucesso, resultando em atrasos (é por isso que seu programa ficou lento).
Eventualmente, o disco irá desistir (com erros) ou internamente remapear o setor defeituoso. Isso parece ser "autocura" para o usuário. Você provavelmente provocou isso reinstalando o Windows e escrevendo para esse setor.
Na próxima vez que algo estiver muito lento, verifique o uso do disco por% de ocupação muito alta, mas baixa transferência e leia as unidades S.M.A.R.T. valores.