python
冰芷若涵
这个作者很懒,什么都没留下…
展开
-
分析python接口性能
分析接口性能 用 cProfile和pstats模块 cProfile思路 1.使用cProfile模块生成脚本执行的统计信息文件 2.使用pstats格式化统计信息,并根据需要做排序分析处理 代码如下 1.写代码装饰器 def do_cprofile(filename): “”" 性能分析装饰器定义 Decorator for function profiling. “”" def wrapper(func): def profiled_func(*args, **kwargs): profile = c原创 2021-01-10 21:03:41 · 225 阅读 · 0 评论 -
全局解释器锁GIL
GIL全局解释器锁GIL 什么是全局解释器锁GIL? 在 CPython 解释器中执行的每一个 Python 线程,都会先锁住GIL,以阻止别的线程执行。 GIL限制了同一时刻只能有一个线程使用cpu。这样导致了无法利用多核(cpu)。 当然,CPython 不可能容忍一个线程一直独占解释器,它会轮流执行 Python 线程。这样一来,用户看到的就是“伪”并行,即 Python 线程在交替执行,来模拟真正并行的线程。 为什么还需要 GIL 呢? 其实,这和 CPython 的底层内存管理有关。原创 2021-01-10 14:12:27 · 234 阅读 · 0 评论