python统一多处理并行函数

pyumpf的Python项目详细描述


python统一的多处理并行函数

这是一个小型库,旨在将标准库map/reduce函数组合在一起 使用标准库中的多处理模块和pp模块(www.parallelpython.com)。

每个人都有自己的利基,也有自己的优势和劣势。map/reduce函数 在标准库中有利于实现一个功能范例,但是受到gil的限制。 一次只运行一个任务。多处理模块适用于具有多个 CPU,但调试和使用可能会很困难。pp模块非常适合集群,但更重要的是 很难调试和使用。另外,所有这些都有不同的api,因此不能直接替换。

pyumpf可以通过umpf.map和umpf.reduce提供一个统一的接口来解决这个问题,这个接口可以很容易地 扩展为在需要时使用多处理或pp,但也折叠为的内置map/reduce 更简单的调试。

要安装:python setup.py install

例如,请参见umpf_test.py注意,此示例使pp的性能较差。这是因为 它运行在一台机器上,这个例子太小,无法充分利用并行性。 理想情况下,每个任务都应该运行几秒钟,并且具有容易pickle的参数并返回 价值观。

默认情况下,umpf默认为pythons内置的map/reduce。这些是单螺纹的。

要使用多处理,请执行以下操作:

import umpf import multiprocessing as mp umpf.Hub.pool = mp.Pool()

要使用并行python,请执行以下操作:

import umpy import pp umpy.Hub.pool = pp.Server()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何设置将在类声明中使用的输入参数?   混合表达式和文本的java SpEL模板   getHeaders()无法返回java Mockito测试SimpMessageHeaderAccessor getHeaders()应返回MessageHeaders   如何在java中创建循环回菜单的方法   具有多态性的Java列表问题   java Guice多数据库自动切换   java服务器错误,状态代码:400,错误代码:100005,消息:您已超过组织的内存限制   静态mutator方法的Java命名约定   用于实例化另一个java文件的groovy java代码   javajavax。网ssl。SSLHandshakeException:握手期间远程主机关闭连接。重新启动服务器后,它工作正常,但会再次显示   java WebSphere+RAD+Taglib   REST客户端中出现java异常:找不到contenttype application/json的messagebodyreader   无参数setter的Java命名   java从数组中删除重复字符