При обычном
Image.open() Pillow:1. Вызывает
preinit()2. Импортирует плагины форматов (PNG, GIF, JPEG и др.)
3. Проверяет, подходит ли каждый плагин под файл
4. Если нет — вызывает
init() и грузит все остальные плагины📦 Сейчас в Pillow 47 плагинов форматов.
Даже если ты открываешь один PNG, библиотека могла импортировать кучу ненужного кода.
Идея оптимизации -> вместо загрузки всех плагинов — сделать lazy loading по расширению файла.
👉 Сначала быстрый lookup:
расширение файла → нужный плагинТолько если:
— нет расширения
— расширение неверное
→ тогда используется старый механизм с перебором.
⭐️ Улучшение войдёт в Pillow 12.2.0
🔗 Ссылка на материал с деталями реализации
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
