Why using async/await to a function takes longer time then calling that same function directly?
<p>I have a function which I need to run in background because it freezes the UI until it completes. I tried to use Async/Await which lets me use the UI no matter the function completes running or not, but I noticed it is much slower. Why using async/await to a function takes longer time then calling that same function directly ? Is there any other alternative ?</p>

<pre><code>private void btnClick(object sender, EventArgs e)
{
   Math4OfficeRibbon.CallFunction();
   MessageBox.Show("Task Finished");
}

public async void CallFunction()
{
   await Task.Run(() =&gt; AwaitedFunction());
}

public static void AwaitedFunction()
{
   // Do Something
   // Takes longer time this way
}
</code></pre>