Skip to content

Commit

Permalink
Fixing repetition
Browse files Browse the repository at this point in the history
  • Loading branch information
Chaosvex committed Sep 16, 2024
1 parent 2320ac6 commit 9c17f7f
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion content/post/go-faster-with-asio/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -638,7 +638,7 @@ Unless you have a specific need for `asio::use_awaitable` (e.g. you need to stor
### Nagle's algorithm
> This section only applies to TCP streams. If you're only interested in UDP, you can skip it.
One [complaint](https://github.com/chriskohlhoff/asio/issues/1426) that [occasionally](https://stackoverflow.com/questions/2039224/poor-boost-asio-performance) crops up from beginners is how sluggish Asio seems to be when building their introductory TCP networking programs. These programs tend to deal with low traffic volumes in a request -> response pattern, causing them to run head-on into into Nagle's algorithm.
One [complaint](https://github.com/chriskohlhoff/asio/issues/1426) that [occasionally](https://stackoverflow.com/questions/2039224/poor-boost-asio-performance) crops up from beginners is how sluggish Asio seems to be when building their introductory TCP networking programs. These programs tend to deal with low traffic volumes in a request -> response pattern, causing them to run head-on into Nagle's algorithm.

<img src="nagles.jpg" width="250px" style="float:left; margin: 20px; border-radius: 5%;">Nagle's algorithm, named after its creator, John Nagle, was designed back in the 1980s when bandwidth was at a premium and sending packets containing single keystrokes to a remote machine incurred significant overhead. To improve efficiency, the algorithm delays outgoing traffic in order to coalesce multiple messages into a single packet, thus reducing the overhead of having to send many TCP frames where only one is needed. The downside is that the delay introduced by the algorithm can sometimes have a noticeable impact on applications that are latency-sensitive, particularly those that are relatively low bandwidth or have pauses between outgoing traffic. It isn't just programmers that get bitten by Nagle's; it's not uncommon for gamers to disable Nagle's algorithm at a system level to help improve multiplayer responsiveness.

Expand Down

0 comments on commit 9c17f7f

Please sign in to comment.