充分利用多核及分布式提升日志解析的性能

发布时间: 2018-02-07 13:53:29 作者: 大象笔记

在一个四核的机器上使用 python 运行以下代码

    while True:
        pass

会发现只有一个核使用率是 100%, 其他三个核则没事可干。

如果使用多线程呢?

由于 CPython (我们平时使用的 Python) 和 PyPy 使用了GIL (Global Interpreter Lock) 导致同一时刻只有一个线程的代码能够被执行,所以实际上是串行执行的,而不是并行。

解决方式通常有以下几种:

参考

Multi-Core and Distributed Programming in Python

http://www.praetorian.com/blog/multi-core-and-distributed-programming-in-python

我是一名山东烟台的开发者,联系作者