I want to run a cpu intensive program in Python across multiple cores and am trying to figure out how to write C extensions to do this. Are there any code samples or tutorials on this?

解决方案

You can already break a Python program into multiple processes. The OS will already allocate your processes across all the cores.

Do this.

python part1.py | python part2.py | python part3.py | ... etc.

The OS will assure that part uses as many resources as possible. You can trivially pass information along this pipeline by using cPickle on sys.stdin and sys.stdout.

Without too much work, this can often lead to dramatic speedups.

Yes -- to the haterz -- it's possible to construct an algorithm so tortured that it may not be sped up much. However, this often yields huge benefits for minimal work.

And.

The restructuring for this purpose will exactly match the restructuring required to maximize thread concurrency. So. Start with shared-nothing process parallelism until you can prove that sharing more data would help, then move to the more complex shared-everything thread parallelism.

python和c混合编程 gil,如何在python中使用C扩展来解决GIL相关推荐

  1. python列表可以混合类型_如何在Python中将混合数据类型的列表转换为数据帧

    我有一个混合数据类型列表,如下所示:list = [['3D prototypes', 'Can print large objects', 'Autodesk Maya/Mudbox', '3D S ...

  2. c python boost.python_如何利用Boost.Python实现Python C/C++混合编程详解

    前言 学习中如果碰到问题,参考官网例子:D:boost_1_61_0libspythontest 参考:Boost.Python 中英文文档. 利用Boost.Python实现Python C/C++ ...

  3. python与matlab混合编程_python 与 matlab 混编

    Matlab的官方文档中介绍了 Matlab 与其余编程语言之间的引擎接口,其中包括对于 Python 开放的引擎 API,可参考官方教程,其中包括引擎安装,基本使用,以及Python与Matlab之 ...

  4. Boost.Python实现Python C/C++混合编程

    导出函数 #include<string> #include<boost/python.hpp>using namespace std; using namespace boo ...

  5. cuda编程python接口_混合编程[python+cpp+cuda]

    很多时候,我们是基于python进行模型的设计和运行,可是基于python本身的速度问题,使得原生态python代码无法满足生产需求,不过我们可以借助其他编程语言来缓解python开发的性能瓶颈.这里 ...

  6. C++和Python混合编程:C++调用Python函数

    文章目录 一.C++直接运行python代码的控制台Demo 二.环境配置 三.C++调用Python函数 C++传入Python的参数格式转换 C++调用Python[有参有返回值]函数 C++运行 ...

  7. python怎么去掉换行符_如何在Python中删除尾部换行符?

    如何在Python中删除尾部换行符? 什么是Perl的chomp函数的Python等价物,如果它是换行符,它会删除字符串的最后一个字符? 26个解决方案 1473 votes 尝试方法lstrip() ...

  8. Python要了解哪些编程基础 如何学Python比较好

    Python要了解哪些编程基础?如何学Python比较好?不管怎么说,Python都是大家进军IT行业值得选择的语言.毕竟它不但使用,而且还好用.更值得一提的是,它非常容易入门.而且在人工智能.传统编 ...

  9. python 参数个数 同名函数_如何在python中编写不同参数的同名方法

    我在Java背景下学习Python(3.x). 我有一个python程序,我在其中创建一个personObject并将其添加到列表中.p = Person("John") list ...

最新文章

  1. js 动态加载select触发事件
  2. 3.2 目标点检测-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  3. linux tcp文件分包_Linux网络监控工具大点兵
  4. c++ 随机字符串_第3章 别碰白块(《C和C++游戏趣味编程》配套教学视频)
  5. 369Cloud控制台、IDE、组件、引擎升级全面解析
  6. 同步与异步、异步与回调
  7. python如何确定拐点_如何在嘈杂的曲线中找到拐点?
  8. CF595B Pasha and Phone
  9. 计算机硬盘图标怎么更改,Win7硬盘图标怎么改 win7修改硬盘盘符图标的方法
  10. 计算机里面的硬盘图标怎么会变,win7系统电脑硬盘图标变样的解决方法
  11. OCT-模拟电路设计八边形法则的探讨
  12. 最近羊毛小更新 青龙面板 薅羊毛 22/6/6更新
  13. 量子信息-学习记录13
  14. 华胜天成旗下成员企业沃趣科技为华泰证券IT系统保驾护航
  15. iPhone XS系列降价一千元;Intel雷电接口将融合USB4;蔚来汽车收入、亏损均增长百分百 | 雷锋早报...
  16. 九点标定和旋转中心标定后旋转点的计算
  17. 基于手机APP的PLC远程监控系统
  18. N型电池将成为下一代主流方向
  19. 某网站登录页面存在用户手机号信息泄露
  20. 手机安装pem_使用HTTP网址分发并安装iOS程序

热门文章

  1. Java native方法availableProcessors()获取处理器数量的底层C++实现
  2. windows 反弹shell_容器内反弹shell的51种姿势
  3. python中is和 的区别_Python中is和==的区别
  4. printf 指针地址_指针搞都不懂,好意思说自己会C语言?
  5. python判断阿姆斯特朗数_Python 程序检查阿姆斯特朗数
  6. jq之$(“p.test“)
  7. CTF工具-seccomp-tools
  8. 西建大历年电子与通信工程复试真题_学姐分享2020年西安电子科技大学电子与通信工程考研初复试经验指导...
  9. 基于蓝墨云平台的计算机教学,基于蓝墨云班课的中职计算机“分层教学”模式探究...
  10. 过滤特征_LR训练优化-稀疏特征过滤