using System.Threading.Tasks;
using System.Diagnostics;
private static Task<int> NOP() {
return Task<int>.FromResult(3);
private static async Task<int> CascadeAwait() {
private static Task<int> ReturnTask() {
public async static void Main()
Stopwatch sw = new Stopwatch();
for (i = 10; i > 0; --i) {
for (i = 1000; i > 0; --i) {
Console.WriteLine("CascadeAwait: " + sw.ElapsedTicks);
for (i = 1000; i > 0; --i) {
Console.WriteLine("ReturnTask: " + sw.ElapsedTicks);