假设我有一个GUI应用程序,可以为用户执行长时间的计算(例如,视频处理)。我应该增加计算进程/线程的优先级以使其运行得更快吗?这样做有什么害处?
答案 0 :(得分:1)
如果您的处理过程需要5分钟的处理器时间,则需要5分钟才能完成处理。在非繁忙的系统上,运行它的唯一应用程序不太可能产生很大的不同。
但是,在具有其他任务的系统上,您将从这些任务中窃取处理时间,并且用户可能会认为您的系统正在使计算机挂起。
如果你有一个长时间运行的任务,你实际上更好地降低了优先级,以便用户可以继续做其他事情。这是多任务背后的原则......
答案 1 :(得分:1)
一般没有。很少有人在长时间的计算中更喜欢无响应的系统而不是响应系统,而计算需要更长的时间。
还有多种原因导致优先级提高会导致计算时间变长。例如,增加其他任务的抢占可能会耗尽CPU缓存,使这些任务花费更长时间。由于各种原因,这可能会减慢您关心的任务,包括增加核心间争用。
当您无法容忍不可预测或增加的延迟时,您会提高优先级。
答案 2 :(得分:0)
好吧,如果您花费更多时间处理视频,那么可能有更少的资源可用于从磁盘读取视频。
唯一真正的方法是测试......