Skip to content

Instantly share code, notes, and snippets.

@isaacs
Created January 12, 2013 19:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save isaacs/4520055 to your computer and use it in GitHub Desktop.
Save isaacs/4520055 to your computer and use it in GitHub Desktop.
$ make bench
test/run-benchmarks
uv_shutdown_t: 48 bytes
uv_write_t: 160 bytes
uv_connect_t: 64 bytes
uv_udp_send_t: 184 bytes
uv_tcp_t: 224 bytes
uv_pipe_t: 240 bytes
uv_tty_t: 304 bytes
uv_prepare_t: 88 bytes
uv_check_t: 88 bytes
uv_idle_t: 88 bytes
uv_async_t: 96 bytes
uv_timer_t: 120 bytes
uv_fs_poll_t: 72 bytes
uv_fs_event_t: 256 bytes
uv_process_t: 104 bytes
uv_poll_t: 128 bytes
uv_loop_t: 768 bytes
loop_count: 2000000 ticks in 1.56s (1284984/s)
loop_count: 6335096 ticks (1267019 ticks/s)
ping_pongs: 31378 roundtrips/s
1000000 write requests in 3.62s.
tcp_pump100_server: 9.2 gbit/s
tcp_pump100_client: 9.2 gbit/s
tcp_pump1_server: 7.5 gbit/s
tcp_pump1_client: 7.5 gbit/s
tcp-conn-pound-100: 3182 accepts/s (0 failed)
tcp-conn-pound-1000: 1701 accepts/s (1631 failed)
pipe_pump100_server: 20.5 gbit/s
pipe_pump100_client: 20.5 gbit/s
pipe_pump1_server: 7.5 gbit/s
pipe_pump1_client: 7.5 gbit/s
pipe-conn-pound-100: 27939 accepts/s (0 failed)
pipe-conn-pound-1000: 32289 accepts/s (85540 failed)
`tcp_multi_accept2` failed: timeout
Output from process `tcp_multi_accept2`: (no output)
=============================================================
`tcp_multi_accept4` failed: timeout
Output from process `tcp_multi_accept4`: (no output)
=============================================================
`tcp_multi_accept8` failed: timeout
Output from process `tcp_multi_accept8`: (no output)
=============================================================
udp_pummel_1v1: 71597/s received, 71597/s sent. 1000001 received, 1000000 sent in 14.0 seconds.
udp_pummel_10v1: 94805/s received, 94805/s sent. 1000001 received, 1000000 sent in 10.5 seconds.
udp_pummel_100v1: 95211/s received, 95211/s sent. 1000000 received, 1000000 sent in 10.5 seconds.
udp_pummel_1000v1: 95575/s received, 95575/s sent. 999999 received, 1000000 sent in 10.5 seconds.
udp_pummel_10v10: 115514/s received, 115513/s sent. 1000005 received, 1000000 sent in 8.7 seconds.
udp_pummel_100v10: 110939/s received, 110939/s sent. 1000008 received, 1000000 sent in 9.0 seconds.
udp_pummel_1000v10: 110510/s received, 110509/s sent. 1000008 received, 1000000 sent in 9.0 seconds.
udp_pummel_100v100: 118069/s received, 118064/s sent. 1000045 received, 1000000 sent in 8.5 seconds.
udp_pummel_1000v100: 118505/s received, 118497/s sent. 1000064 received, 1000000 sent in 8.4 seconds.
udp_pummel_1000v1000: 107425/s received, 107377/s sent. 1000445 received, 1000000 sent in 9.3 seconds.
udp_pummel_1v1: 97029/s received, 97029/s sent. 485046 received, 485047 sent in 5.0 seconds.
udp_pummel_10v1: 93947/s received, 93948/s sent. 469643 received, 469644 sent in 5.0 seconds.
udp_pummel_100v1: 93900/s received, 93900/s sent. 469313 received, 469314 sent in 5.0 seconds.
udp_pummel_1000v1: 94300/s received, 94300/s sent. 470934 received, 470936 sent in 5.0 seconds.
udp_pummel_10v10: 116095/s received, 116095/s sent. 580357 received, 580360 sent in 5.0 seconds.
udp_pummel_100v10: 118886/s received, 118888/s sent. 594311 received, 594320 sent in 5.0 seconds.
udp_pummel_1000v10: 112896/s received, 112897/s sent. 563802 received, 563810 sent in 5.0 seconds.
udp_pummel_100v100: 122769/s received, 122769/s sent. 613597 received, 613600 sent in 5.0 seconds.
udp_pummel_1000v100: 121635/s received, 121646/s sent. 607444 received, 607500 sent in 5.0 seconds.
udp_pummel_1000v1000: 108661/s received, 108725/s sent. 542000 received, 542320 sent in 5.0 seconds.
getaddrinfo: 6562 req/s
1,000,000 stats (sync): 0.87s (1,155,401/s)
100,000 stats (1 concurrent): 0.97s (103,485/s)
100,000 stats (2 concurrent): 1.33s (74,910/s)
100,000 stats (3 concurrent): 1.46s (68,585/s)
100,000 stats (4 concurrent): 1.50s (66,648/s)
100,000 stats (5 concurrent): 1.53s (65,169/s)
100,000 stats (6 concurrent): 1.75s (57,025/s)
100,000 stats (7 concurrent): 1.60s (62,367/s)
100,000 stats (8 concurrent): 1.61s (62,138/s)
100,000 stats (9 concurrent): 1.63s (61,483/s)
100,000 stats (10 concurrent): 1.67s (59,995/s)
100,000 stats (11 concurrent): 1.62s (61,843/s)
100,000 stats (12 concurrent): 1.65s (60,567/s)
100,000 stats (13 concurrent): 1.66s (60,403/s)
100,000 stats (14 concurrent): 1.57s (63,504/s)
100,000 stats (15 concurrent): 1.71s (58,607/s)
100,000 stats (16 concurrent): 1.65s (60,584/s)
100,000 stats (17 concurrent): 1.63s (61,529/s)
100,000 stats (18 concurrent): 1.67s (59,758/s)
100,000 stats (19 concurrent): 1.66s (60,324/s)
<buffer too small> stats (20 concurrent): 1.67s (59,788/s)
<buffer too small> stats (21 concurrent): 1.66s (<buffer too small>/s)
<buffer too small> stats (22 concurrent): 1.68s (<buffer too small>/s)
<buffer too small> stats (23 concurrent): 1.68s (<buffer too small>/s)
<buffer too small> stats (24 concurrent): 1.66s (<buffer too small>/s)
<buffer too small> stats (25 concurrent): 1.68s (<buffer too small>/s)
<buffer too small> stats (26 concurrent): 1.64s (<buffer too small>/s)
<buffer too small> stats (27 concurrent): 1.61s (<buffer too small>/s)
<buffer too small> stats (28 concurrent): 1.65s (<buffer too small>/s)
<buffer too small> stats (29 concurrent): 1.65s (<buffer too small>/s)
<buffer too small> stats (30 concurrent): 1.66s (<buffer too small>/s)
<buffer too small> stats (31 concurrent): 1.65s (<buffer too small>/s)
<buffer too small> stats (32 concurrent): 1.65s (<buffer too small>/s)
async1: 9.52 sec (105,038/sec)
async2: 13.74 sec (72,782/sec)
async4: 14.91 sec (67,087/sec)
async8: 23.15 sec (43,196/sec)
async_pummel_1: 1,000,000 callbacks in 2.43 seconds (410,871/sec)
async_pummel_2: 1,000,000 callbacks in 3.02 seconds (330,941/sec)
async_pummel_4: 1,000,000 callbacks in 8.98 seconds (111,411/sec)
async_pummel_8: 1,000,000 callbacks in 8.93 seconds (111,927/sec)
spawn: 198 spawns/s
20000 threads created in 0.40 seconds (50353/s)
5,416,800 async events in 5.0 seconds (1,083,360/s, 1,048,576 unique handles seen)
0.56 seconds
test/run-benchmarks
uv_shutdown_t: 48 bytes
uv_write_t: 160 bytes
uv_connect_t: 64 bytes
uv_udp_send_t: 184 bytes
uv_tcp_t: 264 bytes
uv_pipe_t: 280 bytes
uv_tty_t: 344 bytes
uv_prepare_t: 88 bytes
uv_check_t: 88 bytes
uv_idle_t: 88 bytes
uv_async_t: 96 bytes
uv_timer_t: 120 bytes
uv_fs_poll_t: 368 bytes
uv_fs_event_t: 136 bytes
uv_process_t: 136 bytes
uv_poll_t: 128 bytes
uv_loop_t: 920 bytes
loop_count: 2000000 ticks in 0.92s (2168360/s)
loop_count: 10704458 ticks (2140892 ticks/s)
ping_pongs: 26334 roundtrips/s
1000000 write requests in 3.39s.
tcp_pump100_server: 8.9 gbit/s
tcp_pump100_client: 8.9 gbit/s
tcp_pump1_server: 7.0 gbit/s
tcp_pump1_client: 7.0 gbit/s
tcp-conn-pound-100: 3494 accepts/s (0 failed)
tcp-conn-pound-1000: 1007 accepts/s (2013 failed)
pipe_pump100_server: 18.6 gbit/s
pipe_pump100_client: 18.6 gbit/s
pipe_pump1_server: 6.5 gbit/s
pipe_pump1_client: 6.5 gbit/s
pipe-conn-pound-100: 32148 accepts/s (0 failed)
pipe-conn-pound-1000: 37857 accepts/s (120083 failed)
udp_packet_storm_1v1: 101979/s received, 101980/s sent
udp_packet_storm_10v1: 89202/s received, 89202/s sent
udp_packet_storm_100v1: 102864/s received, 102864/s sent
udp_packet_storm_1000v1: 102498/s received, 102498/s sent
udp_packet_storm_10v10: 114270/s received, 114272/s sent
udp_packet_storm_100v10: 117044/s received, 117046/s sent
udp_packet_storm_1000v10: 112900/s received, 112902/s sent
udp_packet_storm_100v100: 119480/s received, 119500/s sent
udp_packet_storm_1000v100: 119120/s received, 119140/s sent
udp_packet_storm_1000v1000: 109400/s received, 109600/s sent
ares_gethostbyname: 19994 req/s
getaddrinfo: 6468 req/s
1,000,000 stats (sync): 1.03s (971,554/s)
100,000 stats (1 concurrent): 1.24s (80,377/s)
100,000 stats (2 concurrent): 1.38s (72,560/s)
100,000 stats (3 concurrent): 1.43s (69,731/s)
100,000 stats (4 concurrent): 1.47s (68,082/s)
100,000 stats (5 concurrent): 1.49s (66,914/s)
100,000 stats (6 concurrent): 1.50s (66,562/s)
100,000 stats (7 concurrent): 1.53s (65,219/s)
100,000 stats (8 concurrent): 1.53s (65,449/s)
100,000 stats (9 concurrent): 1.54s (64,821/s)
100,000 stats (10 concurrent): 1.56s (63,951/s)
100,000 stats (11 concurrent): 1.55s (64,602/s)
100,000 stats (12 concurrent): 1.56s (64,114/s)
100,000 stats (13 concurrent): 1.57s (63,655/s)
100,000 stats (14 concurrent): 1.57s (63,680/s)
100,000 stats (15 concurrent): 1.58s (63,245/s)
100,000 stats (16 concurrent): 1.58s (63,414/s)
100,000 stats (17 concurrent): 1.58s (63,315/s)
100,000 stats (18 concurrent): 1.59s (63,075/s)
100,000 stats (19 concurrent): 1.59s (62,968/s)
100,000 stats (20 concurrent): 1.61s (62,184/s)
100,000 stats (21 concurrent): 1.60s (62,486/s)
100,000 stats (22 concurrent): 1.61s (61,948/s)
100,000 stats (23 concurrent): 1.61s (62,174/s)
100,000 stats (24 concurrent): 1.61s (62,063/s)
100,000 stats (25 concurrent): 1.60s (62,431/s)
100,000 stats (26 concurrent): 1.60s (62,388/s)
100,000 stats (27 concurrent): 1.60s (62,483/s)
100,000 stats (28 concurrent): 1.63s (61,394/s)
100,000 stats (29 concurrent): 1.62s (61,755/s)
100,000 stats (30 concurrent): 1.63s (61,469/s)
100,000 stats (31 concurrent): 1.61s (62,035/s)
100,000 stats (32 concurrent): 1.61s (62,154/s)
spawn: 203 spawns/s
20000 threads created in 0.40 seconds (50242/s)
0.57 seconds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment