两个核同时算
(只看「算」的格数:核对 4、写盘 1、心跳 1。处理器一次算一格。)
makespan 把任务分给几个核(大的先分,谁最闲给谁),交回最晚完成的时刻。看 1 核、2 核、3 核各要几格:
JOBS = [("核对", 4), ("写盘", 1), ("心跳", 1)]
def makespan(jobs, cores):
load = [0] * cores
for name, n in sorted(jobs, key=lambda j: -j[1]):
i = load.index(min(load))
load[i] += n
return max(load)
print("/".join(str(makespan(JOBS, k)) for k in (1, 2, 3)))
全部评论