I came accross this article. And under "Choosing Synchronous or Asynchronous Action Methods" the author states that you should not use asyncronous action methods when:
The operations are primarily CPU operations instead of operations that involve extensive disk or network overhead. Using asynchronous action methods on CPU-bound operations provides no benefits and results in more overhead.
I do not understand why that would be so. Because if I have a method calculating the fibonacci numbers that takes up 30 seconds of computation that call is primarily CPU bound. Not making this async would block the calling thread for 30 seconds and make the application unresponsive.
Could you help me out with that reasoning?