1
22
1)内存开销是主要开销,如其他答案所述。您还需要支付编译成本,如果您没有选择的话,这可能会令人望而却步。从 user reference :
2)psyco编译实际上会损害性能。再次从用户指南( "known bugs" 部分):
3)最后,在一些相对比较模糊的情况下,使用psyco实际上会引入bug。其中一些是 listed here . |
2
6
也见 caveats section .举个很难的例子,我注意到我的web应用程序用猎豹生成的模板和数据库I/O没有得到明显的加速。 |
3
5
当使用Pyglet时,我发现在整个应用程序上使用psyco都会导致应用程序无法正常运行。当然,我可以在数学重代码的小部分中使用它,但它不是必需的,所以我不费心。 而且,psyco对我的分析结果做了一些奇怪的事情(例如,好吧,根本没有从非psyco版本更改它们)。我怀疑它不能很好地处理分析代码。 我只是不使用它,除非我真的想要速度,这并不是经常使用。我的重点是算法优化,这通常会导致更好的加速。 |
4
4
这还取决于你的瓶颈在哪里。我主要在做网络应用,瓶颈可能是更多的IO和数据库。所以你应该知道在哪里优化。 同样要注意的是,也许你首先应该考虑你的代码,而不是直接向它扔psyco。所以我同意Devin的观点,算法优化应该是第一位的,它们可能会有较小的不必要的副作用。 |
5
4
psyco死了,不能再维持下去了。是时候再找一个了 |
6
3
一个人不应该依靠某种魔法子弹来解决你的问题。通常不需要使用psyco使慢速程序更快。坏的算法会被重写,而 要求 速度可以用另一种语言写。当然,你的问题问我们为什么不用它来提高速度,当你用psyco的时候会有一些开销。psyco使用内存,这两行只是排序 感觉 就像你看到它们时的头顶。至于我为什么不使用psyco的个人原因,是因为它不支持x86_64,我认为这是一种新兴的体系结构(尤其是2038年前后即将到来)。我的选择是派比,但我也不完全喜欢。 |
7
2
其他一些事情:
|
8
1
很简单:“因为代码已经运行得足够快了”。 |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |