Link graph: Clamp job duration multipliers to 1 for small jobs

Cost estimate < 4000
This commit is contained in:
Jonathan G Rennison
2019-02-22 00:56:04 +00:00
parent e3bb96e484
commit 26858cdf3d

View File

@@ -73,7 +73,7 @@ void LinkGraphSchedule::SpawnNext()
uint64 cost = lg->CalculateCostEstimate();
used_budget += cost;
if (LinkGraphJob::CanAllocateItem()) {
uint duration_multiplier = CeilDivT<uint64_t>(scaling * cost, total_cost);
uint duration_multiplier = cost < 4000 ? 1 : CeilDivT<uint64_t>(scaling * cost, total_cost);
std::unique_ptr<LinkGraphJob> job(new LinkGraphJob(*lg, duration_multiplier));
jobs_to_execute.emplace_back(job.get(), cost);
if (this->running.empty() || job->JoinDateTicks() >= this->running.back()->JoinDateTicks()) {