Юлия Волкова. Память, данные, python

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.พ. 2025
  • Юлия Волкова
    Data TeamLead, CodeScoring
    Память, данные, python
    Доклад-напоминалка про основные проблемы, возникающие при работе с памятью в Python, с уклоном в работу с данными. Обсудим, что делать, когда ваши данные растут, но объём ещё не такой, чтобы убедить Ops в необходимости hadoop-кластера, а в Python уже становится больно. Посмотрим несколько кейсов и попробуем их поотимизировать.
    Проверим, можно ли решить проблемы памяти из-за объёмных структур данных в Python за счёт расширения C/Rust языками. Посмотрим, какие изменения приходят с новыми версиями Python касаемо работы с памятью (и приходят ли вообще).

ความคิดเห็น • 3

  • @markervictor
    @markervictor 7 วันที่ผ่านมา +1

    Один из лучших докладов про python за последние пару лет! Достойно уважения

  • @АлекСневар
    @АлекСневар วันที่ผ่านมา

    Блин, я думал темненькая из Тату в питонистки подалась)

  • @iuliiavolkova5116
    @iuliiavolkova5116 4 วันที่ผ่านมา +2

    for item in ijson.items(f, 'item'):
    yield item - вот так должно быть при работе с ijson, не надо делать `data_el = ijson.items(data, 'item')` - в этот момент тут и происходит вычитка всего файла в память. Всем привет) это Юля - спикер с доклада, мой косяк - сильно принизила ijson. Не спрашивайте, как так получилось, что меня вообще нигде не смутили эти 4 Гб, на фоне остальных результатов я видимо была и так в экстазе. Это конечно ошибка, так пользоваться не надо ijson - будет потребление памяти еще меньше, если будете просто итерироваться по ijson.items(f, 'item'), а не читать все сразу - как сделано у меня на примере. Это никак не противоречит тому что я говорю, но по факту неправильное использование библиотеки и результат будет еще лучше.