É sempre mais rápido usar string como chave em um dict?

Nistopágina, Vejo algo interessante:

Note que existe um caminho rápido para dicts que (na prática) lidam apenas com chaves str; isso não afeta a complexidade algorítmica, mas pode afetar significativamente os fatores constantes: com que rapidez um programa típico é concluído.

Então, o que isso significa exatamente?

Significa usar string como a chave é sempre mais rápida?

Se sim, porque?

Atualizar:

Obrigado pelas sugestões sobre otimização! Mas, na verdade, estou mais interessado na verdade simples do que se ou quando devemos fazer a otimização.

Atualização 2:

Obrigado pelas ótimas respostas, vou citar o conteúdo doligação fornecido por @DaveWebb aqui:

"...

ma_lookup é inicialmente definido para olookdict_string função (renomeada paralookdict_unicode no 3.0), que assume que tanto as chaves no dicionário quanto a chave que está sendo pesquisada são PyStringObject's padrão. Em seguida, ele pode fazer algumas otimizações, como atenuar várias verificações de erros, já que a comparação de string para string nunca gera exceções. Também não há necessidade de comparações de objetos ricos, o que significa que evitamos chamadasPyObject_RichCompareBool, e sempre use_PyString_Eq diretamente.

... "

Além disso, para os números do experimento, acho que o tamanho da diferença será ainda maior se não houver conversão int-to-string

questionAnswers(2)

yourAnswerToTheQuestion