Я использую этот код (очень упрощенная версия оригинальной, но проблема остается), чтобы скопировать файл:копия файла слишком медленно, когда PyQt участвует
def copyfileobj_example(source, dest, buffer_size=1024*1024):
while 1:
copy_buffer = source.read(buffer_size)
if not copy_buffer:
break
dest.write(copy_buffer)
Если я вызываю функцию без PyQt файлы копируются НАСТОЯЩЕМУ быстро, но когда я вызываю его внутри простого окна pyqt, копия в три раза медленнее.
Скопировать быстро огромное количество файлов является основной точкой приложения, я предполагаю, что включение gui немного замедлит работу, но не сделает его в три раза медленнее! и выполнение функции копирования с использованием потоков или многопроцессорности не вызывает удовлетворительных улучшений.
Это как есть? не могли бы вы рекомендовать что-то решить эту проблему?
EDIT: There является сутью с моим фактическим кодом копирования, работает и без PyQT
Просьба представить полный PyQT пример, демонстрирующий эту проблему. Я не могу воспроизвести это с помощью PyQt-4.11.4 с помощью python 3.5 в Linux. – ekhumoro
Добавлен тестовый код с использованием PyQT 5.4.1 и python 2.7 – Cesar
У меня возникли проблемы с запуском вашего примера. Пожалуйста, попробуйте тест в моем ответе и confrim, видите ли вы ту же проблему. – ekhumoro