Пишем на PHP и не теряем память • Валентин Удальцов • BeerPHP • 6 июня 2024

Sdílet
Vložit
  • čas přidán 23. 07. 2024
  • 0:00 Крутой монтаж BeerPHP
    0:20 Приветствие под Катюшу
    1:15 RFC: new without parentheses
    2:00 Ставь RoadRunner сегодня вечером!
    3:08 Что такое утечка памяти?
    4:04 Почему сложно искать и предотвращать утечки?
    5:19 Не мешай PHP убираться!
    7:15 Декомпозируй код!
    9:17 Не зацикливай объекты!
    14:50 Как протестировать?
    16:24 Используй статические замыкания!
    18:10 Читай построчно!
    20:16 Читай из БД через курсор!
    23:48 Пиши в БД эффективно!
    29:23 Мемоизация и вытеснение
    34:05 LRU
    36:29 Не вытесняешь - чисти!
    39:17 Инструменты
    43:12 Полезные ссылки
    45:24 Как часто я сталкивался с утечками в жизни
    47:52 Есть ли универсальный способ понять, что память потекла?
    52:00 История моего RFC
    1:00:39 Как работает курсор в БД
    1:02:05 Про концерт группы, волнения по поводу RFC и любимый стек на PHP
    Слайды: vudaltsov.github.io/memory-le...
    Подписывайтесь на наши каналы в Telegram:
    • Пых t.me/phpyh,
    • PHP Digest t.me/phpdigest,
    • PHP умирает?! t.me/isPHPdying
  • Věda a technologie

Komentáře • 19

  • @kinvain
    @kinvain Před měsícem +4

    Про вставку файло это прям про меня. Работал на проекте где мы "клиентам" рассылали файлы SQLite базы данных. Из постгри делали выгрузку, применяли разные фильтры и модификаторы к данным (заполняли цены, убирали лишние категории и товары), загружали это при помощи INSERT в SQLite базы и отправляли файлик. Веремеи занимало - ДОХРЕНА! Причём я бы не сказал что данных было сильно много, что-то порядка 100_000 записей.
    Но пришёл я и всех спас. Просто делал выгрузку не в память, а в файл. А потом загружал сам файл в базу. Вместо десяти минут стало требоваться сильно меньше одной минуты. До сих пор горжусь собой!

  • @Chepurko87
    @Chepurko87 Před měsícem +3

    Спасибо Валентин, очень актуальная тема!

  • @cpentyc
    @cpentyc Před měsícem +5

    00:00 - Введение, приветствие и благодарность
    00:32 - Рассказ о достижениях и проекте RFC
    01:28 - Обсуждение нового функционала в PHP 8.4 и его преимущества
    02:04 - Roadrunner: использование и настройка, проблемы с памятью
    03:11 - Определение утечек памяти, примеры и решения
    05:34 - Как PHP управляет памятью, примеры и советы
    09:11 - Циклические ссылки и их влияние на память
    11:48 - Генерация кода и проблемы с памятью
    15:11 - Тесты на утечки памяти, примеры и инструменты
    18:42 - Работа с большими файлами и данными, эффективное чтение и запись
    22:12 - Использование курсоров в базе данных для эффективного чтения данных
    24:35 - Мемоизация и кэширование данных, различные стратегии
    27:09 - Использование PHP для обработки больших объемов данных, пример с PostgreSQL
    29:30 - Мемоизация и её оптимизация, стратегии вытеснения данных
    34:25 - Примеры кода для мемоизации, LRU и другие алгоритмы
    39:30 - Инструменты для обнаружения утечек памяти, профилирование и анализ
    41:19 - Использование и настройка инструментов для анализа памяти
    44:45 - Полезные ссылки и ресурсы для дальнейшего изучения
    45:49 - Вопросы и ответы: утечки памяти в реальной жизни
    48:37 - Вопросы и ответы: общие вопросы о PHP и оптимизации памяти
    50:29 - Заключение, выводы и советы

    • @PHPPoint
      @PHPPoint  Před měsícem +1

      А я как раз сам пишу!

    • @kinvain
      @kinvain Před měsícem

      @@PHPPoint Думаю это можно делегировать ChatGPT.

  • @nechinva
    @nechinva Před 23 dny +1

    За Владом на стене написано 5555! 😅

  • @mrfriz
    @mrfriz Před měsícem +2

    А где посмотреть про RoadRunner?

  • @user-ye4vh5uv4v
    @user-ye4vh5uv4v Před 29 dny

    Спасибо Валентин! Есть ли видео других участников конфы, докладов вроде было 3?

  • @radikovichkz2470
    @radikovichkz2470 Před 13 dny

    Оставьте бедный php в покое)

  • @user-lj4vw3fs1l
    @user-lj4vw3fs1l Před měsícem

    можно ли натравить psalm или cs fixer иключительно на изменения в моей ветке? или на определенные коммиты?

  • @user-py4en8mv4n
    @user-py4en8mv4n Před měsícem

    Если можно бы ссылки на статьи сюда продублировать, доклад пушка

    • @user-py4en8mv4n
      @user-py4en8mv4n Před měsícem +1

      Вижу ссылку на презу, не актуально получается, спасибо за доклад!

  • @eugenebores
    @eugenebores Před měsícem

    В примере с LRU вместо array_shift можно сделать unset($items[array_key_first($items)]). Ключи же не цифровые и порядок их не важен.

    • @vudaltsov
      @vudaltsov Před měsícem

      Отличная идея, спасибо!

  • @mihfil43
    @mihfil43 Před měsícem

    А куда видео с канала удалились?

    • @PHPPoint
      @PHPPoint  Před měsícem

      Вроде всё на месте. 90% видео на этом канале трансляции, поэтому они в разделе www.youtube.com/@PHPPoint/streams.

  • @UIRETU
    @UIRETU Před měsícem +7

    Качество звука просто ужасное неужели не смогли записать голос

    • @zlodes01
      @zlodes01 Před měsícem +2

      Да в целом ок, не идеально конечно, но чего бухтеть-то.

    • @victoriaadler3686
      @victoriaadler3686 Před 26 dny +1

      изначально вообще записи не планировалось, так что спасибо и на этом)