Оптимизация кода Python: интернирование строк

Интернирование строки – это метод хранения только одной копии каждой отдельной строки. В коде Python можно инициировать интернирование повторно используемых строк

Обычно, когда мы создаем строковый объект, интерпретатор Python определяет, следует ли кэшировать эту строку. Это характерное поведение интерпретатора в определенных условиях, например, при обработке идентификаторов.

Объявление строки с именем, которое начинается либо с буквы, либо с подчеркиванием и включает только или комбинации букв / подчеркиваний / чисел, заставит Python интернировать строку и создать для нее хеш.

Так как у Python есть много внутреннего кода, использующего словари, это приводит к выполнению процесса поиска идентификаторов. Поэтому интернирование строк идентификатора ускоряет весь процесс. Проще говоря, Python хранит все идентификаторы в таблице и генерирует уникальные ключи (хеш) для каждого объекта для будущих поисков. Эта оптимизация происходит во время компиляции. И это также объединяет интернирование строковых литералов, которое напоминает идентификаторы. Таким образом, это довольно полезная функция в Python, она помогает ускорить обработку большого анализа текста или аналитики.

Строки, которые читаются из файла или получены через сетевое общение, не являются частью автоматического интернирования в Python. Но всегда можно использовать функцию intern () для обработки таких строк.

Поделитесь с друзьями:

Оставьте комментарий