![]() | 1 binux 2015-12-29 07:14:23 +08:00 用 multiprocessing 之后 CPU 占满了吗?占满了就没得提升了,如果没有,要么你的程序不是 CPU 密集型,继续加大线程 /进程数,要么你用得不对。 |
2 billgreen1 OP @binux 占满了, 55555~~~ |
![]() | 3 clino 2015-12-29 07:33:27 +08:00 via Android cython 之类的? |
![]() | 4 helloworld00 2015-12-29 07:36:33 +08:00 先 profile 看到底哪最耗时,从你这么几句看不到代码很难说出什么方法 想办法有目的性的去优化代码, 数据结构,代码逻辑等 最后用 pypy |
![]() | 5 ericls 2015-12-29 08:08:39 +08:00 via iPhone CPU 密集用 pypy cython 多线程 IO 密集 用 异步 看看 GIL 也许有帮助 |
![]() | 6 ljdawn 2015-12-29 08:34:28 +08:00 如果是 cpu 密集型的就没法子了... |
![]() | 7 DuckJK 2015-12-29 08:40:02 +08:00 |
![]() | 8 h4x3rotab 2015-12-29 09:29:07 +08:00 via iPhone mapreduce |
9 bookocean 2015-12-29 09:32:04 +08:00 都不清楚你这个函数是干嘛的,怎么给意见呢 |
![]() | 10 9hills 2015-12-29 09:46:51 +08:00 分析性能瓶颈,尝试优化,实在不行就用 C 重写相关部分 其实暴力的办法就是上多机并行处理 |
![]() | 11 Feiox 2015-12-29 10:12:55 +08:00 其实。。。一个函数几十上百毫秒,已经算耗时大的了。。。。 |
![]() | 12 est 2015-12-29 10:16:19 +08:00 |
![]() | 13 Aalen 2015-12-29 10:34:26 +08:00 hadoop 啦~ |
![]() | 14 zhicheng 2015-12-29 10:38:11 +08:00 via Android Numpy |
![]() | 16 pynix 2015-12-29 11:37:19 +08:00 这耗时已经很长了好吧。。。。。 |
![]() | 17 ryd994 2015-12-29 11:59:03 +08:00 via Android 不要把函数直接挂给 multiprocessing fork 的开销也不小的 正确的是写一个 wrapper ,让一个进程处理几十个 |
18 m8syYID5eaas8hF7 2015-12-29 13:43:53 +08:00 用 C++写一下那个函数试试看(来自 python 初学者的建议) |
![]() | 19 ethego 2015-12-29 14:17:28 +08:00 为什么要开进程?这明显只要开线程就够了 |
![]() | 20 glogo 2015-12-29 19:50:58 +08:00 multiprocessing + 协成,我是这样的, IO 密集型,性能是 multiprocessing + 线程的 5 倍 |
![]() | 21 asxalex 2015-12-29 22:33:26 +08:00 尝试优化函数内部算法,数据结构吧 |