From 7 Years of YouTube Scalability Lessons in 30 Minutes:
You have to measure. Vitess swapped out one its protocols for an HTTP implementation. Even though it was in C it was slow. So they ripped out HTTP and did a direct socket call using python and that was 8% cheaper on global CPU. The enveloping for HTTP is really expensive.
Not a surprise for me, but I guess it would be for most people. HTTP is not a good general purpose protocol, it’s not even good at doing what it was designed for. I try to avoid HTTP like the plague, but it’s difficult to go against the herd of web-developers who think “HTTP is th3 4w3s0me!”