Boost Python的C++对象, Pickle支持及其原理

默认用boost python包裹的C++对象是不支持pickle的,如果要用pickle.dumps(obj)的话那会提示错误Pickling of "xxx" instances is not enabled.这边吐槽一下在最新的代码里,给的reference链接其实还是不可用的。真正正确的是https://www.boost.org/doc/libs/1_74_0/libs/python/d

- 阅读全文 -

记录一下找了半天的huge page坑——fork越来越慢的原因

背景之前发现Jupyter Notebook下面,如果数据占用多的话,开多进程池会特别的慢。一开始以为是Python的锅,但是把multiprocessing.pool改成直接用os.fork()调用以后,问题依旧。照理来说unix下面使用fork开进程,会启用copy-on-write机制,内存增长并不是特别明显,但是实际在htop下面看内存仍然会在fork之后增长,并且和进程数量是线性相关的。

- 阅读全文 -

Python multiprocessing 并行化原则

处理multiprocessing解决棘手的并行问题时,遵循以下策略:把工作拆分成独立单元;如果每项工作所花的时间是可变的,那就考虑随机化工作的序列;对工作队列进行排序,首先处理最慢的任务可能是一个最有用的策略(平均而言);对于细小琐碎的任务,考虑将他们合并分块(chunk),这样能有效减小fork/join通信开销;让任务数量与物理CPU数量保持一致;部分摘自 <High Performa

- 阅读全文 -

pyprof2calltree -- Python 性能分析 可视化

性能分析用cProfilepython -m cProfile -o output.perf your_script.py --your args然后可以安装pyprof2calltreepyprof2calltree -i output.perf -k记得系统里要装qcallgrind(windows)或者kcallgrind,不然会打不开生成好的log

- 阅读全文 -

最新文章

最近回复

  • master: 感谢反馈。新链接已更新在原文
  • pwcpp: 下载链接失效了,请问哪里可以下载?谢谢!
  • master: 测试回复
  • master: 金融的范围太广了...
  • echo: 希望老哥能多多推荐一些金融方面的书 嘿嘿
  • master: 月神卡有限速42Mbps么?我看官网上上这么写的~https:/...
  • peter: 180港币只有6+5G流量,月神卡不用签约118港币5+5G流量...
  • master: LZMA SDK is placed in the public...
  • master: 刚测过,可以连接5G了,不过还没有跑很快
  • master: 据说以前能够连上5G的,最近要推出5G套餐所以降级了。

分类

标签

归档

其它