Qual é a diferença entre as funções range e xrange no Python 2.X?

aparentemente xrange é mais rápido, mas não faço ideia porque é mais rápido (e nenhuma prova além do anedótico até agora que é mais rápido) ou o que além disso é diferente sobre for i in range(0, 20): for i in xrange(0, 20):

função de entrada raw em Python

Qual é a função raw_input? É uma interface de utilizador? Quando o usamos?