← retour aux snippets

sys.intern: dédupliquer les chaînes répétées

Réduire la mémoire et accélérer les comparaisons de clés répétées.

python performance #sys#intern#strings

objectif

Réduire la mémoire et accélérer les comparaisons de clés répétées.

code minimal

import sys
a = sys.intern("very_long_key")
b = sys.intern("very_long_key")
print(a is b)  # attendu: True

utilisation

import sys
keys = [sys.intern(s) for s in ["id","id","name","id"]]
print(keys.count(keys[0]) == 3)

variante(s) utile(s)

import sys
print(callable(sys.intern))

notes

  • Intern utile pour des clés dict répétées (CSV gros, logs).
  • N’internisez pas tout; concentrez-vous sur les répétitions élevées.