Performance 在线评判网站如何隔离项目绩效?

Performance 在线评判网站如何隔离项目绩效?,performance,isolation,Performance,Isolation,有许多在线评判网站可以通过比较其输出与正确答案来验证您的程序。此外,他们还会检查运行时间,以确保您的程序运行时间不超过最大限制 因此,我的问题是,由于一些在线评委网站同时运行多个测试程序,它们如何实现性能隔离,即如何确保在重载环境中运行的用户程序能够在同一时间内完成,当它在空闲环境中运行时?操作系统将CPU时间与现实世界的“挂钟”时间分开进行跟踪。在进行基准测试时,通常只看一种或另一种时间。CPU或文件I/O密集型任务可以用CPU时间来衡量。需要外部资源的任务(如查询远程数据库)最好以挂钟时间来

有许多在线评判网站可以通过比较其输出与正确答案来验证您的程序。此外,他们还会检查运行时间,以确保您的程序运行时间不超过最大限制


因此,我的问题是,由于一些在线评委网站同时运行多个测试程序,它们如何实现性能隔离,即如何确保在重载环境中运行的用户程序能够在同一时间内完成,当它在空闲环境中运行时?

操作系统将CPU时间与现实世界的“挂钟”时间分开进行跟踪。在进行基准测试时,通常只看一种或另一种时间。CPU或文件I/O密集型任务可以用CPU时间来衡量。需要外部资源的任务(如查询远程数据库)最好以挂钟时间来度量,因为您无法访问远程资源上的CPU时间


如果判断站点只是比较不同测试的CPU时间,那么该站点可以同时运行多个测试。另一方面,如果挂钟时间很重要,然后,站点必须使用独立的硬件或作业队列,以确保在下一次开始之前完成一个测试。

由于这些测量是在空闲环境中按顺序进行的

它们可能会使用多个服务器来运行测试。哪些站点会这样做?至于比较CPU时间,同时运行多个测试仍然是不公平的。由于在多测试环境中,程序可用的CPU缓存和TLB等资源将变得非常少,这可能会对程序性能产生很大影响。非常好。现代机器结构的性能很难预测。这种影响可以通过始终以括号竞争的方式运行成对的程序来减轻。这样一来,绝对表现就不那么重要了,你最终还是会获得良好的相对排名。