Being asynchronous and/or non-blocking does not provide any inherent speed boost to individual IO operations within a system, if it is going to take x milliseconds to read from the disk that’s what it will take.
The advantage of these approaches shows true in multi-threaded environments (or environments where operation can continue despite delayed IO) by allowing the IO operations to be effectively separately from the main thread of execution. The perceived performance increase from this is due to the decreased number resources used to simply wait for IO to return or unblock.
A good comparison of asynchronous and non-blocking is available in this thread.