【问题标题】:Numeric GUI bottleneck数值 GUI 瓶颈
【发布时间】:2011-03-11 23:49:49
【问题描述】:

我制作了一个 GUI,用于在我的 Mac 上使用 PyQT4、Wing、QT 和 Python 2.6.6 设置和启动数值积分器。问题是,当我从 GUI 运行积分器时,它所花费的时间比我从命令行粗略地运行积分器时要长很多倍。

例如,1000 年的集成在命令行上花费了 98 秒,在 GUI 上花费了大约 570 秒。

在 GUI 中,集成从一个线程运行,然后返回。它使用队列与 GUI 进行通信。

有没有人知道瓶颈在哪里?我怀疑其他人可能会在较小的范围内遇到类似的事情。

t = threading.Thread(target=self.threadsafe_start_thread, args=(self.queue, self.selected))
t.start()

【问题讨论】:

  • 您是否尝试过以某种方式分析您的代码?

标签: python qt pyqt4


【解决方案1】:

一般来说,在 pyqt 应用程序中使用 python 线程并不是一个好主意。而是使用QThread

python 和 QThreads 都调用相同的底层机制,但它们不能很好地协同工作。我不知道这是否会解决您的问题,但这可能是问题的一部分。

【讨论】:

    【解决方案2】:

    您的线程代码主要是 Python 代码吗?如果是,那么您可能是 Global Interpreter Lock 的受害者。

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多