我正在尝试为我新创建的同时并行运行的任务找出最佳估计计算。 作为计算的第一步,我的公式为持续时间(D)=计数(c)/网络吞吐量(T)。因此,对于给定的开始时间,我可以轻松找到 1 个任务的持续时间,并在同一时间找到下一个任务的持续时间,我自己做了一些计算,我期待对所附图像有一些想法或相关公式。
这里我需要分别计算每个任务的持续时间。接下来我可以尝试什么?
为什么不创建一个函数,将函数作为参数传递给时间,然后将函数调用包装在几个日期变量中?
//Assuming functionToTime is marked async Task
public async Task<TimeSpan>(Action functionToTime){
DateTime startTime = DateTime.Now;
await functionToTime;
return (DateTime.Now - startTime);
}
如果
functionToTime
不是 async
,您需要通过以下方式调用该函数:
await Task.Run(() => functionToTime);
您可以更改它以满足您的需求,但我认为这应该是一个很好的起点。