¿Por qué este bucle es más rápido que la comprensión de un diccionario para crear un diccionario?

No procedo de un entorno de software / informática, pero me encanta codificar en Python y, en general, puedo entender por qué las cosas son más rápidas. Tengo mucha curiosidad por saber por qué este bucle for ejecuta más rápido que la comprensión del diccionario. ¿Alguna idea?

Problema: dado un diccionarioa con estas claves y valores, devuelve un diccionario con los valores como claves y las claves como valores. (desafío: hacer esto en una línea)

y el código

a = {'a':'hi','b':'hey','c':'yo'}

b = {}
for i,j in a.items():
    b[j]=i

%% timeit 932 ns ± 37.2 ns per loop

b = {v: k for k, v in a.items()}

%% timeit 1.08 µs ± 16.4 ns per loop

Respuestas a la pregunta(2)

Su respuesta a la pregunta