¿Siempre es más rápido usar la cadena como clave en un dict?

En estepágina, Veo algo interesante:

Tenga en cuenta que existe una ruta rápida para los dictados que (en la práctica) solo trata con las teclas str; esto no afecta la complejidad algorítmica, pero puede afectar significativamente los factores constantes: la rapidez con la que finaliza un programa típico.

Entonces, ¿qué significa exactamente?

¿Significa que usar una cadena como la clave siempre es más rápido?

¿Si es así por qué?

Actualizar:

Gracias por las sugerencias sobre optimización! Pero en realidad estoy más interesado en la simple verdad, que en si o cuando deberíamos hacer la optimización.

Actualización 2:

Gracias por las excelentes respuestas, citaré el contenido delenlazar proporcionado por @DaveWebb aquí:

"...

ma_lookup se establece inicialmente en ellookdict_string función (renombrado alookdict_unicode en 3.0), que asume que tanto las claves en el diccionario como las claves buscadas son estándar de PyStringObject. Entonces puede hacer un par de optimizaciones, como mitigar varias verificaciones de errores, ya que la comparación de cadena a cadena nunca genera excepciones. Tampoco es necesario realizar comparaciones de objetos enriquecidos, lo que significa que evitamos las llamadasPyObject_RichCompareBool, y siempre usar_PyString_Eq directamente.

... "

Además, para los números de experimento, creo que el tamaño de la diferencia será aún mayor si no hay una conversión int-to-string

Respuestas a la pregunta(2)

Su respuesta a la pregunta