Нет никакого смысла в асинхронном запуске операций ЦП, вы просто добавляете много служебных данных и также используете тот же ресурс ЦП.
Суть асинхронных операций в том, что если вам нужно подождать, вам не нужно блокировать шаг, чтобы он мог делать что-то еще.
Таким образом, даже если операция выполняется в течение 2 минут чистого процессора, вы ничего не выиграете, если вызовете ее асинхронно.
Более того, вы все равно одновременно ожидаете завершения всех операций. Таким образом, вы можете использовать Task.Run
для параллельного выполнения операций, но вам больше ничего не нужно делать с этим.
Насколько я знаю, единственная разница между выполнением .Result
и .GetAwaiter().GetResult()
- это тип исключения, которое вы получаете.
Итак, моя точка зрения такова: в вашем коде уже нет ничего асинхронного, так что измерять нечего.