https://github.com/aws/aws-lambda-go/blob/159d1c69878562cd54...
The response is apparently posted to another API endpoint.
Googling for the environment variable actually specifying the API endpoint, I found https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom... which seems to spell out some of the details.
Of course that just moves the question to "where does the runtime API get the event from?" but at that point they could be doing all kinds of things, I guess.
Now I'm curious to see what happens if you ask for more events before returning a response for the first event you got. Can you actually process events in parallel?
My guess is java is slow as it works really well when the JIT can optimize your code. Longer running functions will very likely outperform python.
Also how does an event actually get to the lambda handler? Because they can come from all kind of sources.