Sunday, September 18, 2011

How fast are Java Datagrams?

Overview

Following my article How fast are Java sockets, this article follows the same tests except for Datagrams which use UDP rather than TCP.

The timings

The tests are the same except Datagrams don't support busy waiting in Java 6 which hurts the Threaded Ping latency

UDP Pings per second 224 K/s
UDP Pings latency was 1/50/99%tile 4.1/4.2/4.7 us
Threaded UDP Pings per second 131 K/s
Threaded UDP Pings latency was 1/50/99%tile 9.8/11.0/33.2 us

Comparison


Test Threaded ThroughputTypical latency
Datagram Pingno224 K/s 4.2 μs
Socket Pingno170 K/s 5.8 μs
Datagram Pingyes131 K/s11.0 μs
Socket Pingyes235 K/s8.5 μs

The Code

DatagramPingTest.java

No comments:

Post a Comment