Por que esse loop é mais rápido que a compreensão de um dicionário para criar um dicionário?

Eu não sou de ciência da computação / software, mas adoro codificar em Python e geralmente consigo entender por que as coisas são mais rápidas. Estou realmente curioso para saber por que esse loop for roda mais rápido que a compreensão do dicionário. Alguma ideia?

Problem: Dado um dicionárioa com essas chaves e valores, retorne um dicionário com os valores como chaves e as chaves como valores. (desafio: faça isso em uma linha)

e o 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

questionAnswers(2)

yourAnswerToTheQuestion