Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Precompiling standard library Python что это? Как это работает?

  1. Precompiling standard library Python что это? Как это работает?

    Народ, я тут залез в дебри оптимизации моей Python проги, и наткнулся на тему precompiling standard library python что это вообще значит? Когда это имеет смысл делать и какие от этого профиты? Желательно с примером кода, плиз. Очень надо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Короче, когда ты пишешь питоновский код, интерпретатор каждый раз компилит его заново при запуске. Precompiling (предварительная компиляция) стандартной библиотеки включает в себя компиляцию этих модулей в байткод и сохранение их в .pyc файлы. Это помогает ускорить импорт модулей, потому что они уже в байткоде. Вот пример кода:

    Программный код:
    import py_compile
    py_compile
    .compile('example.py'
    После этого создаётся .pyc файл, который легче и быстрее грузится. Если твой скрипт постоянно использует какие-то модули, предварительная компиляция может реально ускорить работу.

  4. Цитата Сообщение от Saphira
    Короче, когда ты пишешь питоновский код, интерпретатор каждый раз компилит его заново при запуске. Precompiling (предварительная компиляция) стандартной библиотеки включает в себя компиляцию этих модулей в байткод и сохранение их в .pyc файлы. Это помогает ускорить импорт модулей, потому что они уже в байткоде. Вот пример кода:

    Программный код:
    import py_compile
    py_compile
    .compile('example.py'
    После этого создаётся .pyc файл, который легче и быстрее грузится. Если твой скрипт постоянно использует какие-то модули, предварительная компиляция может реально ускорить работу.
    Норм объяснил! А еще, если у тебя большая кодовая база, то precompiling помогает избежать постоянного перекомпилирования тех же самых файлов. Так что на больших проектах это прям мастхэв штука!

  5. В общем, это реально толковая вещь. Особенно если ты деплоишь на серваки, там можно весь stdlib перекомпилить. Это ускоряет запуск скриптов, так что у тебя юзеры довольны. Используй команду python -m compileall, чтобы сразу много файлов компилить.

  6. Цитата Сообщение от BehemothBane
    В общем, это реально толковая вещь. Особенно если ты деплоишь на серваки, там можно весь stdlib перекомпилить. Это ускоряет запуск скриптов, так что у тебя юзеры довольны. Используй команду python -m compileall, чтобы сразу много файлов компилить.
    Йоу, братан, а compileall прям все компилит? Не знал, что так можно. Надо бы протестить на своем проекте, мб ускорится реально.

  7. Precompiling это топчик, когда работаешь с фреймворками типа Django или Flask. Там даже маленькое ускорение импорта даёт свои фрукты. Попробуй ещё в virtualenv использовать, так прям кайф!

  8. Цитата Сообщение от Заблудшая
    Precompiling это топчик, когда работаешь с фреймворками типа Django или Flask. Там даже маленькое ускорение импорта даёт свои фрукты. Попробуй ещё в virtualenv использовать, так прям кайф!
    Хаха, брат, прям мои мысли читаешь. В виртуалке precompile прям как песня звучит. Делал так, шикарно пашет.

  9. Ну и раз уж заговорили об этом, советую автоматизировать precompiling через СI (Continuous Integration). Короче, накатай скрипт, чтобы после каждого пуша в репу все нужное компилилось. Это сэкономит кучу времени в будущем.

  10. Цитата Сообщение от MultipleMan
    Ну и раз уж заговорили об этом, советую автоматизировать precompiling через СI (Continuous Integration). Короче, накатай скрипт, чтобы после каждого пуша в репу все нужное компилилось. Это сэкономит кучу времени в будущем.
    Чувак, ты как раз в точку! Я думаю автоскриптирование тут рулит. Лень вручную каждый раз компилить же, а так — огонь.

Страница 1 из 2 12 ПоследняяПоследняя