为什么 PyQt 应用程序启动这么慢?

发布于 2024-09-28 13:44:07 字数 155 浏览 6 评论 0原文

C++ 速度很快。 Qt 很快。 Python解释器启动速度相对较快(在我的电脑上2-3秒)。 PyQt 是 Qt 的薄包装。为什么 PyQt 应用程序启动(大约 80 行,即使是 .pyc 形式)如此慢(6-12 秒)?我对造成这种情况的原因很感兴趣,最重要的是,对改善这种情况的方法很感兴趣。

C++ is fast. Qt is fast. Python interpreter startup is relatively fast (2-3 seconds on my computer). PyQt is thin wrapper around Qt. Why then PyQt app startup (about 80 lines, even in .pyc form) is so slow (6-12 seconds)? I'm interested in reasons for this and, most importantly, ways to improve this situation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

热风软妹 2024-10-05 13:44:07

Qt 4.6.3 中存在一个已知错误,该错误会影响应用程序的启动时间。也许 4.4.3 也受到影响。尝试升级到 4.7.0,它修复了该错误。

您的问题也可能来自动态库重定位。如果您自己编译 Qt 或 Python,请尝试为它们提供与默认值 (0x10000000) 不同的基地址,以防止在两个库一起加载时发生重定位。

在 Linux 下,您可以使用 prelink,但据我所知,它在 Windows 上没有等效项。

There is a known bug in Qt 4.6.3 that cripples application start times. Maybe 4.4.3 is also affected. Try to upgrade to 4.7.0, which fixes that bug.

Your problem might also come from dynamic library relocation. If you compile either Qt or Python yourself, try to give them a base address different from the default (0x10000000), to prevent relocation to occur when the two libraries are loaded together.

Under Linux, you could have used prelink, but to my knowledge it has no equivalent on Windows.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文