在 Python 中测量多线程代码的处理时间

Posted

技术标签:

【中文标题】在 Python 中测量多线程代码的处理时间【英文标题】:Measuring process time of a multi-thread code in Python 【发布时间】:2011-07-01 10:03:50 【问题描述】:

我正在运行以下代码尝试测量我的 PG 进程完成多长时间,但是,一旦整个循环完成,“toc-tic”就会显示,有什么方法可以测量总时间和时间单个线程?谢谢

tic = time.clock()
for i in range(0,2):        
    start = i * step
    end = start + step

    pg = PatternGenerator()
    pg.counter = start
    pg.pos = i
    pg.data = lines[start:end]  

    pg.start()

toc = time.clock()

print toc - tic

问候, 安迪

【问题讨论】:

【参考方案1】:

在 toc 之前加入线程!

您可以将对象放到一个列表中,然后对它们调用 join!

在 for 之前:

pglist = [] 
... start the threads...

for pg in pglist:
  pg.join()

toc = time.clock()

print toc - tic

【讨论】:

以上是关于在 Python 中测量多线程代码的处理时间的主要内容,如果未能解决你的问题,请参考以下文章

改进多线程的一般技巧(在 C++ 中)

如何在 Linux 多线程环境中测量函数的总执行时间

Python中的多处理:处理多个工作线程

Python中的多处理与线程

Python 中的多线程还是串行处理?

python 多线程