Я создал графический интерфейс для настройки и запуска числового интегратора с использованием PyQT4, Wing, QT и Python 2.6.6 на моем Mac. Дело в том, что когда я запускаю интегратор из графического интерфейса, это занимает намного больше времени, чем когда я грубо запускаю интегратор из командной строки.
Например, 1000-летняя интеграция заняла 98 секунд в командной строке и ~ 570 секунд из графического интерфейса.
В графическом интерфейсе интеграция запускается из потока, а затем возвращается. Он использует очередь для связи обратно с графическим интерфейсом.
У кого-нибудь есть идеи относительно того, где находится узкое место? Я подозреваю, что другие могут испытывать что-то подобное только в меньшем масштабе.
t = threading.Thread(target=self.threadsafe_start_thread, args=(self.queue, self.selected))
t.start()