10e552da7Schristos /* Copyright Joyent, Inc. and other Node contributors. All rights reserved. 20e552da7Schristos * 30e552da7Schristos * Permission is hereby granted, free of charge, to any person obtaining a copy 40e552da7Schristos * of this software and associated documentation files (the "Software"), to 50e552da7Schristos * deal in the Software without restriction, including without limitation the 60e552da7Schristos * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 70e552da7Schristos * sell copies of the Software, and to permit persons to whom the Software is 80e552da7Schristos * furnished to do so, subject to the following conditions: 90e552da7Schristos * 100e552da7Schristos * The above copyright notice and this permission notice shall be included in 110e552da7Schristos * all copies or substantial portions of the Software. 120e552da7Schristos * 130e552da7Schristos * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 140e552da7Schristos * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 150e552da7Schristos * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 160e552da7Schristos * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 170e552da7Schristos * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 180e552da7Schristos * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 190e552da7Schristos * IN THE SOFTWARE. 200e552da7Schristos */ 210e552da7Schristos 220e552da7Schristos BENCHMARK_DECLARE (sizes) 230e552da7Schristos BENCHMARK_DECLARE (loop_count) 240e552da7Schristos BENCHMARK_DECLARE (loop_count_timed) 250e552da7Schristos BENCHMARK_DECLARE (ping_pongs) 26*5f2f4271Schristos BENCHMARK_DECLARE (ping_udp1) 27*5f2f4271Schristos BENCHMARK_DECLARE (ping_udp10) 28*5f2f4271Schristos BENCHMARK_DECLARE (ping_udp100) 290e552da7Schristos BENCHMARK_DECLARE (tcp_write_batch) 300e552da7Schristos BENCHMARK_DECLARE (tcp4_pound_100) 310e552da7Schristos BENCHMARK_DECLARE (tcp4_pound_1000) 320e552da7Schristos BENCHMARK_DECLARE (pipe_pound_100) 330e552da7Schristos BENCHMARK_DECLARE (pipe_pound_1000) 340e552da7Schristos BENCHMARK_DECLARE (tcp_pump100_client) 350e552da7Schristos BENCHMARK_DECLARE (tcp_pump1_client) 360e552da7Schristos BENCHMARK_DECLARE (pipe_pump100_client) 370e552da7Schristos BENCHMARK_DECLARE (pipe_pump1_client) 380e552da7Schristos 390e552da7Schristos BENCHMARK_DECLARE (tcp_multi_accept2) 400e552da7Schristos BENCHMARK_DECLARE (tcp_multi_accept4) 410e552da7Schristos BENCHMARK_DECLARE (tcp_multi_accept8) 420e552da7Schristos 430e552da7Schristos /* Run until X packets have been sent/received. */ 440e552da7Schristos BENCHMARK_DECLARE (udp_pummel_1v1) 450e552da7Schristos BENCHMARK_DECLARE (udp_pummel_1v10) 460e552da7Schristos BENCHMARK_DECLARE (udp_pummel_1v100) 470e552da7Schristos BENCHMARK_DECLARE (udp_pummel_1v1000) 480e552da7Schristos BENCHMARK_DECLARE (udp_pummel_10v10) 490e552da7Schristos BENCHMARK_DECLARE (udp_pummel_10v100) 500e552da7Schristos BENCHMARK_DECLARE (udp_pummel_10v1000) 510e552da7Schristos BENCHMARK_DECLARE (udp_pummel_100v100) 520e552da7Schristos BENCHMARK_DECLARE (udp_pummel_100v1000) 530e552da7Schristos BENCHMARK_DECLARE (udp_pummel_1000v1000) 540e552da7Schristos 550e552da7Schristos /* Run until X seconds have elapsed. */ 560e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_1v1) 570e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_1v10) 580e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_1v100) 590e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_1v1000) 600e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_10v10) 610e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_10v100) 620e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_10v1000) 630e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_100v100) 640e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_100v1000) 650e552da7Schristos BENCHMARK_DECLARE (udp_timed_pummel_1000v1000) 660e552da7Schristos 670e552da7Schristos BENCHMARK_DECLARE (getaddrinfo) 680e552da7Schristos BENCHMARK_DECLARE (fs_stat) 690e552da7Schristos BENCHMARK_DECLARE (async1) 700e552da7Schristos BENCHMARK_DECLARE (async2) 710e552da7Schristos BENCHMARK_DECLARE (async4) 720e552da7Schristos BENCHMARK_DECLARE (async8) 730e552da7Schristos BENCHMARK_DECLARE (async_pummel_1) 740e552da7Schristos BENCHMARK_DECLARE (async_pummel_2) 750e552da7Schristos BENCHMARK_DECLARE (async_pummel_4) 760e552da7Schristos BENCHMARK_DECLARE (async_pummel_8) 77*5f2f4271Schristos BENCHMARK_DECLARE (queue_work) 780e552da7Schristos BENCHMARK_DECLARE (spawn) 790e552da7Schristos BENCHMARK_DECLARE (thread_create) 800e552da7Schristos BENCHMARK_DECLARE (million_async) 810e552da7Schristos BENCHMARK_DECLARE (million_timers) 820e552da7Schristos HELPER_DECLARE (tcp4_blackhole_server) 830e552da7Schristos HELPER_DECLARE (tcp_pump_server) 840e552da7Schristos HELPER_DECLARE (pipe_pump_server) 850e552da7Schristos HELPER_DECLARE (tcp4_echo_server) 860e552da7Schristos HELPER_DECLARE (pipe_echo_server) 870e552da7Schristos 880e552da7Schristos TASK_LIST_START 890e552da7Schristos BENCHMARK_ENTRY (sizes) 900e552da7Schristos BENCHMARK_ENTRY (loop_count) 910e552da7Schristos BENCHMARK_ENTRY (loop_count_timed) 920e552da7Schristos 930e552da7Schristos BENCHMARK_ENTRY (ping_pongs) 940e552da7Schristos BENCHMARK_HELPER (ping_pongs, tcp4_echo_server) 950e552da7Schristos 96*5f2f4271Schristos BENCHMARK_ENTRY (ping_udp1) 97*5f2f4271Schristos BENCHMARK_ENTRY (ping_udp10) 98*5f2f4271Schristos BENCHMARK_ENTRY (ping_udp100) 99*5f2f4271Schristos 1000e552da7Schristos BENCHMARK_ENTRY (tcp_write_batch) 1010e552da7Schristos BENCHMARK_HELPER (tcp_write_batch, tcp4_blackhole_server) 1020e552da7Schristos 1030e552da7Schristos BENCHMARK_ENTRY (tcp_pump100_client) 1040e552da7Schristos BENCHMARK_HELPER (tcp_pump100_client, tcp_pump_server) 1050e552da7Schristos 1060e552da7Schristos BENCHMARK_ENTRY (tcp_pump1_client) 1070e552da7Schristos BENCHMARK_HELPER (tcp_pump1_client, tcp_pump_server) 1080e552da7Schristos 1090e552da7Schristos BENCHMARK_ENTRY (tcp4_pound_100) 1100e552da7Schristos BENCHMARK_HELPER (tcp4_pound_100, tcp4_echo_server) 1110e552da7Schristos 1120e552da7Schristos BENCHMARK_ENTRY (tcp4_pound_1000) 1130e552da7Schristos BENCHMARK_HELPER (tcp4_pound_1000, tcp4_echo_server) 1140e552da7Schristos 1150e552da7Schristos BENCHMARK_ENTRY (pipe_pump100_client) 1160e552da7Schristos BENCHMARK_HELPER (pipe_pump100_client, pipe_pump_server) 1170e552da7Schristos 1180e552da7Schristos BENCHMARK_ENTRY (pipe_pump1_client) 1190e552da7Schristos BENCHMARK_HELPER (pipe_pump1_client, pipe_pump_server) 1200e552da7Schristos 1210e552da7Schristos BENCHMARK_ENTRY (pipe_pound_100) 1220e552da7Schristos BENCHMARK_HELPER (pipe_pound_100, pipe_echo_server) 1230e552da7Schristos 1240e552da7Schristos BENCHMARK_ENTRY (pipe_pound_1000) 1250e552da7Schristos BENCHMARK_HELPER (pipe_pound_1000, pipe_echo_server) 1260e552da7Schristos 1270e552da7Schristos BENCHMARK_ENTRY (tcp_multi_accept2) 1280e552da7Schristos BENCHMARK_ENTRY (tcp_multi_accept4) 1290e552da7Schristos BENCHMARK_ENTRY (tcp_multi_accept8) 1300e552da7Schristos 1310e552da7Schristos BENCHMARK_ENTRY (udp_pummel_1v1) 1320e552da7Schristos BENCHMARK_ENTRY (udp_pummel_1v10) 1330e552da7Schristos BENCHMARK_ENTRY (udp_pummel_1v100) 1340e552da7Schristos BENCHMARK_ENTRY (udp_pummel_1v1000) 1350e552da7Schristos BENCHMARK_ENTRY (udp_pummel_10v10) 1360e552da7Schristos BENCHMARK_ENTRY (udp_pummel_10v100) 1370e552da7Schristos BENCHMARK_ENTRY (udp_pummel_10v1000) 1380e552da7Schristos BENCHMARK_ENTRY (udp_pummel_100v100) 1390e552da7Schristos BENCHMARK_ENTRY (udp_pummel_100v1000) 1400e552da7Schristos BENCHMARK_ENTRY (udp_pummel_1000v1000) 1410e552da7Schristos 1420e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_1v1) 1430e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_1v10) 1440e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_1v100) 1450e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_1v1000) 1460e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_10v10) 1470e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_10v100) 1480e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_10v1000) 1490e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_100v100) 1500e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_100v1000) 1510e552da7Schristos BENCHMARK_ENTRY (udp_timed_pummel_1000v1000) 1520e552da7Schristos 1530e552da7Schristos BENCHMARK_ENTRY (getaddrinfo) 1540e552da7Schristos 1550e552da7Schristos BENCHMARK_ENTRY (fs_stat) 1560e552da7Schristos 1570e552da7Schristos BENCHMARK_ENTRY (async1) 1580e552da7Schristos BENCHMARK_ENTRY (async2) 1590e552da7Schristos BENCHMARK_ENTRY (async4) 1600e552da7Schristos BENCHMARK_ENTRY (async8) 1610e552da7Schristos BENCHMARK_ENTRY (async_pummel_1) 1620e552da7Schristos BENCHMARK_ENTRY (async_pummel_2) 1630e552da7Schristos BENCHMARK_ENTRY (async_pummel_4) 1640e552da7Schristos BENCHMARK_ENTRY (async_pummel_8) 165*5f2f4271Schristos BENCHMARK_ENTRY (queue_work) 1660e552da7Schristos 1670e552da7Schristos BENCHMARK_ENTRY (spawn) 1680e552da7Schristos BENCHMARK_ENTRY (thread_create) 1690e552da7Schristos BENCHMARK_ENTRY (million_async) 1700e552da7Schristos BENCHMARK_ENTRY (million_timers) 1710e552da7Schristos TASK_LIST_END 172