python使用 multiprocessing 多进程处理批量数据的示例代码
示例代码
import multiprocessing def process_data(data): # 这里是处理单个数据的过程 return data * 2 # 待处理的数据 data = [1, 2, 3, 4, 5] def normal_func(): # 普通处理方式 result = [] for obj in data: result.append(process_data(obj) return result def parallel_func(): # 多进程处理方式 pool = multiprocessing.Pool(multiprocessing.cpu_count()) result = pool.map(process_data, data) pool.close() return result if __name__ == '__main__': result = normal_func() result = parallel_func()
multiprocessing.Pool
创建进程池, 传入的参数是要要使用的 CPU 内核数量, 直接用 cpu_count()
可以拿到当前硬件配置所有的 CPU 内核数.
pool.map
可以直接将处理后的结果拼接成一个 list 对象
应用在实际数据处理代码的效果对比:
普通处理方式, 用时 221 秒
多进程处理方式, 用时 39 秒, 节省了 82% 的时间
到此这篇关于使用 multiprocessing 多进程处理批量数据的文章就介绍到这了,更多相关 multiprocessing 多进程处理批量数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python中的线程threading.Thread()使用详解
这篇文章主要介绍了python中的线程threading.Thread()使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-12-12python程序运行进程、使用时间、剩余时间显示功能的实现代码
这篇文章主要介绍了python程序运行进程、使用时间、剩余时间显示功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧2019-07-07一篇文章从零开始创建conda环境、常用命令的使用及pycharm配置项目环境
在Conda中创建新环境是一个非常有用的做法,尤其是当你需要为不同的项目安装不同版本的软件包时,这篇文章主要给大家介绍了关于从零开始创建conda环境、常用命令的使用及pycharm配置项目环境的相关资料,需要的朋友可以参考下2024-07-07
最新评论