Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/Channelpy/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Kangaroo@Channelpy P.846
CHANNELPY Telegram 846
PEP 412: Механизм разделяемых ключей в словарях Python

Поговорим о 412: нет, это не тот Москвич, что пылил по дорогам прошлого, а PEP - современный стандарт, который под капотом Python перерабатывает память и повышает эффективность работы вашего кода.

Что такое PEP 412?
PEP 412, известный как "Key-Sharing Dictionaries", описывает механизм, позволяющий нескольким словарям разделять одну и ту же таблицу ключей. Идея заключается в том, чтобы экономить память и повышать эффективность, используя один набор ключей для множества словарей, если эти ключи идентичны. В традиционном подходе каждый словарь создает свою собственную таблицу ключей, что может привести к избыточным расходам памяти, особенно если словари используют одни и те же ключи.

Как это работает?
Когда в программе создается словарь, Python формирует специальную структуру данных для хранения его ключей. До PEP 412 эта структура создавалась заново для каждого словаря, даже если ключи совпадали с уже существующими в других словарях. Теперь же, если Python обнаруживает, что ключи нового словаря идентичны ключам уже существующего, он использует общую структуру для этих ключей. В результате, несколько словарей могут ссылаться на одну и ту же таблицу ключей, что снижает потребление памяти.

Этот подход особенно полезен в ситуациях, когда множество объектов класса имеют одинаковые атрибуты, хранящиеся в словарях. В таких случаях все объекты могут использовать одну и ту же таблицу ключей, что экономит память и снижает накладные расходы на управление данными.

Преимущества PEP 412
Основное преимущество, которое приносит PEP 412, заключается в экономии памяти. Когда многие словари разделяют одну и ту же таблицу ключей, снижаются требования к памяти, так как отсутствует необходимость в создании дублирующихся структур данных. Это становится особенно заметным при работе с большими объемами данных, где экономия памяти приводит к более эффективному использованию ресурсов системы.

Кроме того, хотя основное внимание в PEP 412 уделяется экономии памяти, он также может незначительно улучшить производительность за счет уменьшения числа операций, связанных с созданием и управлением таблицами ключей.

С введением PEP 412, общая таблица ключей позволяет сократить эти издержки. В зависимости от конкретного сценария, экономия памяти может составлять от 30% до 60% по сравнению с тем, как было до внедрения этого механизма. Эта разница особенно заметна в классах, где у всех экземпляров есть одинаковые атрибуты, что позволяет использовать одну и ту же таблицу ключей для всех объектов.
👍1



tgoop.com/Channelpy/846
Create:
Last Update:

PEP 412: Механизм разделяемых ключей в словарях Python

Поговорим о 412: нет, это не тот Москвич, что пылил по дорогам прошлого, а PEP - современный стандарт, который под капотом Python перерабатывает память и повышает эффективность работы вашего кода.

Что такое PEP 412?
PEP 412, известный как "Key-Sharing Dictionaries", описывает механизм, позволяющий нескольким словарям разделять одну и ту же таблицу ключей. Идея заключается в том, чтобы экономить память и повышать эффективность, используя один набор ключей для множества словарей, если эти ключи идентичны. В традиционном подходе каждый словарь создает свою собственную таблицу ключей, что может привести к избыточным расходам памяти, особенно если словари используют одни и те же ключи.

Как это работает?
Когда в программе создается словарь, Python формирует специальную структуру данных для хранения его ключей. До PEP 412 эта структура создавалась заново для каждого словаря, даже если ключи совпадали с уже существующими в других словарях. Теперь же, если Python обнаруживает, что ключи нового словаря идентичны ключам уже существующего, он использует общую структуру для этих ключей. В результате, несколько словарей могут ссылаться на одну и ту же таблицу ключей, что снижает потребление памяти.

Этот подход особенно полезен в ситуациях, когда множество объектов класса имеют одинаковые атрибуты, хранящиеся в словарях. В таких случаях все объекты могут использовать одну и ту же таблицу ключей, что экономит память и снижает накладные расходы на управление данными.

Преимущества PEP 412
Основное преимущество, которое приносит PEP 412, заключается в экономии памяти. Когда многие словари разделяют одну и ту же таблицу ключей, снижаются требования к памяти, так как отсутствует необходимость в создании дублирующихся структур данных. Это становится особенно заметным при работе с большими объемами данных, где экономия памяти приводит к более эффективному использованию ресурсов системы.

Кроме того, хотя основное внимание в PEP 412 уделяется экономии памяти, он также может незначительно улучшить производительность за счет уменьшения числа операций, связанных с созданием и управлением таблицами ключей.

С введением PEP 412, общая таблица ключей позволяет сократить эти издержки. В зависимости от конкретного сценария, экономия памяти может составлять от 30% до 60% по сравнению с тем, как было до внедрения этого механизма. Эта разница особенно заметна в классах, где у всех экземпляров есть одинаковые атрибуты, что позволяет использовать одну и ту же таблицу ключей для всех объектов.

BY Kangaroo


Share with your friend now:
tgoop.com/Channelpy/846

View MORE
Open in Telegram


Telegram News

Date: |

With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures. Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the “Yo” app was launched with the sole purpose of enabling users to send each other the greeting “Yo.” The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. Hui said the time period and nature of some offences “overlapped” and thus their prison terms could be served concurrently. The judge ordered Ng to be jailed for a total of six years and six months. A vandalised bank during the 2019 protest. File photo: May James/HKFP.
from us


Telegram Kangaroo
FROM American