Ist es immer schneller, einen String als Schlüssel in einem Diktat zu verwenden?

DaraufSeiteIch sehe etwas Interessantes:

Beachten Sie, dass es einen schnellen Weg für Dikte gibt, die (in der Praxis) nur mit Str-Tasten umgehen. Dies hat keinen Einfluss auf die algorithmische Komplexität, kann jedoch die konstanten Faktoren erheblich beeinflussen: wie schnell ein typisches Programm beendet wird.

Was bedeutet das genau?

Bedeutet das, dass die Verwendung von Zeichenfolgen als Schlüssel immer schneller ist?

Wenn ja warum

Aktualisieren:

Danke für die Vorschläge zur Optimierung! Aber eigentlich interessiert mich mehr die einfache Wahrheit, als ob oder wann wir optimieren sollten.

Update 2:

Danke für die tollen Antworten, ich zitiere den Inhalt aus demVerknüpfung bereitgestellt von @DaveWebb hier:

"...

ma_lookup wird anfangs auf den Wert gesetztlookdict_string Funktion (umbenannt inlookdict_unicode in 3.0), wobei davon ausgegangen wird, dass sowohl die Schlüssel im Wörterbuch als auch der gesuchte Schlüssel Standard-PyStringObjects sind. Es ist dann in der Lage, einige Optimierungen vorzunehmen, z. B. verschiedene Fehlerprüfungen abzuschwächen, da ein String-zu-String-Vergleich niemals Ausnahmen hervorruft. Es sind auch keine umfangreichen Objektvergleiche erforderlich, sodass keine Aufrufe erforderlich sindPyObject_RichCompareBoolund immer verwenden_PyString_Eq direkt.

... "

Bei den Testnummern denke ich, dass der Unterschied sogar noch größer sein wird, wenn es keine Umwandlung von Int in String gibt

Antworten auf die Frage(2)

Ihre Antwort auf die Frage