小编Say*_*tan的帖子

Python多处理比单个处理花费更长的时间

我正按顺序在3个不同的numpy 2D数组上执行一些大型计算.阵列很大,每个25000x25000.每次计算都需要很长时间,所以我决定在服务器上的3个CPU内核上并行运行其中的3个.我遵循标准的多处理指南并创建了2个进程和一个worker函数.两个计算正在通过这两个进程运行,第三个计算在本地运行而没有单独的进程.我传递巨大的数组作为过程的参数,如:

p1 = Process(target = Worker, args = (queue1, array1, ...)) # Some other params also going

p2 = Process(target = Worker, args = (queue2, array2, ...)) # Some other params also going
Run Code Online (Sandbox Code Playgroud)

Worker函数在队列中附加的列表中发回两个numpy向量(1D数组),如:

queue.put([v1, v2])
Run Code Online (Sandbox Code Playgroud)

我没用 multiprocessing.pool

但令人惊讶的是,我没有得到加速,实际上运行速度慢了3倍.通过大型阵列需要时间吗?我无法弄清楚发生了什么.我应该使用共享内存对象而不是传递数组吗?

如果有人可以提供帮助,我将感激不尽.

谢谢.

python arrays numpy process multiprocessing

10
推荐指数
1
解决办法
3649
查看次数

Apache说错误打开文件进行读取:权限被拒绝

我正在尝试使用apache(2.2.22)和mod_wsgi(3.4)运行django(1.6)项目.我的python是2.7.3,默认是ubuntu 12.04.我已将所有内容从/ var/www设置为chmod 777向下.不幸的是它给了我

打开文件进行读取时出错:权限被拒绝,然后是脚本标题的过早结束:wsgi.py

谁能告诉我我做错了什么?我在这里发布我的error.log

root@whq-4:/var/www/Imse_dev2/Imse/Imse# tail -f /var/log/apache2/error.log 
[Tue Jan 14 14:16:04 2014] [notice] caught SIGTERM, shutting down
[Tue Jan 14 14:16:08 2014] [notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.4 Python/2.7.3      configured -- resuming normal operations
[Tue Jan 14 14:16:28 2014] [error] /var/www/Imse_dev2/Imse
Error opening file for reading: Permission denied
[Tue Jan 14 14:21:32 2014] [error] [client 127.0.0.1] Premature end of script headers:   wsgi.py
[Tue Jan 14 14:29:13 2014] [notice] caught SIGTERM, shutting down
[Tue Jan 14 14:29:13 2014] [notice] Apache/2.2.22 …
Run Code Online (Sandbox Code Playgroud)

python apache django

7
推荐指数
1
解决办法
1660
查看次数

标签 统计

python ×2

apache ×1

arrays ×1

django ×1

multiprocessing ×1

numpy ×1

process ×1