python 的性能之低简直不能忍啊

2015-11-02 10:43:54 +08:00
 eightqueen
参照 rabbitmq 官网 workqueue 模式分别用 java 和 python 实现了两个客户端,推 1000 条消息, java 花费 50ms , python 花费 3s , 60 倍啊。
17465 次点击
所在节点    问与答
68 条回复
HentaiMew
2015-11-02 13:30:20 +08:00
py 性能若能跟 Java 比或者相提并论… 那它就是当之无愧的脚本之王了。。。
你是没见过速度慢上百倍的功能实现…
不过既然用 py 还在乎什么性能,就跟用 Java 还在乎什么内存一样 2333
love
2015-11-02 13:32:45 +08:00
py 虽慢,但象这么慢应该是你的问题。
virusdefender
2015-11-02 13:40:32 +08:00
要看应用场景了, Python 慢也可以写 c 语言补充部分实现。
eightqueen
2015-11-02 13:41:32 +08:00
@ChanneW
@felixzhu 代码已 append
kmahyyg
2015-11-02 13:45:08 +08:00
表示 py 已经很快了,毕竟它没有编译成机器码直接执行,而是边解析边执行

速度和 java 一样的话, java 又臭又长的那些 classes 就可以去死了
zoowii
2015-11-02 14:06:23 +08:00
其实很多情况下可以忍的
不能忍再单独考虑嘛
shenqiu15
2015-11-02 14:08:32 +08:00
撸主真的有 50ms 推送 1000 条消息的需求吗?
Mark24
2015-11-02 14:10:44 +08:00
速度和 Java 一样,你还能看到 Java ?
yuelang85
2015-11-02 14:26:41 +08:00
py 确实比 java 慢。不过这个实验不太靠谱。

首先有个用法错误, for i in range(1000)应该换成 for i in orange 。

另外, py 里链接创建是 connection = pika.BlockingConnection(pika.ConnectionParameters ,这个库的这个方法效率如何?

要比较语言性能,最好是不要用第三方库,纯粹做 数值运算一类的
weyou
2015-11-02 14:26:41 +08:00
就这两段代码看不出 python 能比 java 慢多少,感觉是 pika 库的设计出问题了。
eightqueen
2015-11-02 14:27:02 +08:00
@shenqiu15 有啊,消费者是另一个家伙用 java 写的,他要求的 qps 是 2000 ,我发送消息只有 300 ,差太远啊
0987363
2015-11-02 14:29:01 +08:00
c 跟 go 表示 50ms 太慢
situs
2015-11-02 14:29:50 +08:00
1010 最快 你要写么?
shenqiu15
2015-11-02 14:31:17 +08:00
@eightqueen 那就不要用 python 喽,没有一种语言能适用于所有场景。
eightqueen
2015-11-02 14:35:34 +08:00
@yuelang85 orange 是什么东西?网上都查不到。 pika 是 rabbitmq 官网推荐的,我没得选。
hdjdcyl
2015-11-02 14:47:04 +08:00
PHP 是世界上最好的语言
yahoo21cn
2015-11-02 14:48:25 +08:00
java 用到多个 cpu 了吧, python 需要用 multiprocess 才能启用多 cpu ,速度就基本一样了
iptux
2015-11-02 14:52:35 +08:00
@yuelang85 看到 orange 笑了,原谅我笑点低 23333
yuelang85
2015-11-02 15:09:30 +08:00
@eightqueen
@iptux

额,我都想不明白我怎么把 xrange 敲成了 orange
eightqueen
2015-11-02 15:12:21 +08:00
@yuelang85 xrange 我测过,性能并没有提高,它是生成器,节约内存, 1000 条根本没关系。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/232846

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX