Есть python-скрипт, который я создал с помощью ChatGPT для облегчения конвертации рекламных роликов для кино. Сейчас назрела необходимость код оптимизировать так, чтобы обработка файлов занимала меньше времени.
NB! Я НЕ программист. Я работаю со скриптом через pycharm под windows, хотелось бы продолжать так и работать.
Общая длина: сейчас около 500 строк.
Базово скрипт выполняет следуюшие шаги: проверяет имена входных файлов в папке на соответствие критериям и переименовывает их, если это необходимо, извлекает пиковое значение аудиодорожки с помощью pydub и ffmpeg, затем выбирает то из двух, которое более похоже на реальное. Потом скрипт генерирует проект в формате программы DCP-о-matic с помощью ее встроенной CLI. Затем просчитывает этот проект CLI-версией этой же программы. Потом упаковывает результат в zip-архив с помощью библиотеки zipfile и грузит на яндекс.диск с помощью библиотеки yadisk. Потом получает публичную ссылку на папку с архивами.
Какие варианты оптимизации я вижу здесь?
1. В принципе все, что идет до кодирования созданных проектов, может быть запущено параллельно для каждого файла. Сейчас это выполняется последовательно. Зипование и загрузка в облако запараллелить -- не знаю, есть ли в этом большой смысл, т.к. мы ограничены скоростью жесткого диска и шириной интернет-канала.
2. Оптимизация структуры кода. В том числе, например, код сейчас не использует классы вообще (а может стоило бы).
В целом я почти постоянно онлайн и готов отвечать оперативно