c # – What is the difference with async and sync in Tcp Socket?

Do you have a speed difference? Which is more sensitive? Does it matter which one to use?
The codes to these 3 questions:

void EndReading (result of IAsyncResult)
{
int size = ((NetworkStream) result.AsyncState) .EndRead (result);
}
void Start () => tcpClient.BeginRead (buffer, 0, 30000, EndReading, null);

Second:

Asynchronous task reading (clcc client)
{
int size = 0;
if ((size = cl.GetStream (). ReadAsync (buffer, 0, 30000)) = 0)
{
// ...
}
}
void Start () => Task.Run (Read) .Wait ();

The same to write but instead of Yes Y ReadAsync single WriteAsync