为什么节目从来没有在完全相同的时间执行?

问题描述 投票:0回答:1

这更是一个通用的技术问题。我只是好奇什么的主要因素在决定如何快或慢的计算机程序运行的?

例如,当我时间Python代码中,运行时总是通过至少+/-0.02秒变化

performance runtime
1个回答
1
投票

有执行时间差异的原因是多方面的。 〜200毫秒的变化看起来似是而非为几秒钟运行一个python脚本。主要贡献者这里将OS /调度和内存/缓存。 OS将成为你的脚本运行核心中断和阻断系统调用它将运行调度,这将在该核心运行后台任务。虽然这些任务运行时,它们会污染L1,L2和L3高速缓存,使得数据和Python脚本的代码的某些部分会被驱逐到RAM中。所以内存的引用将始终以不同的时间每次运行,因为你永远无法重现的是打断你的脚本后台任务的内存占用。

如果你是在Linux上运行,你可能会尝试安排你的脚本到从调度使用isolcpu =内核启动选项脱机一个CPU,所以你必须从其他进程噪音较小。您将有幅度变化较小的订单的话,反而会出现使用共享资源仍有一些未来 - 内存控制器,IO总线,共享的末级缓存。

© www.soinside.com 2019 - 2024. All rights reserved.