diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2010-03-12 20:02:19 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2010-03-12 20:02:19 +0100 |
commit | c08a7f8896e8fdae8379d2fce552b360daaeadc8 (patch) | |
tree | 0231eaf3eba3af9a6695877e81b803feddef948c /perf/c | |
parent | 1fbeba2fe3c3bd6046eea4d6432791194d4238f2 (diff) |
C perf tests are built non-optionally; C++ perf tests removed
Diffstat (limited to 'perf/c')
-rw-r--r-- | perf/c/Makefile.am | 129 | ||||
-rw-r--r-- | perf/c/local_lat.c | 106 | ||||
-rw-r--r-- | perf/c/local_thr.c | 136 | ||||
-rw-r--r-- | perf/c/remote_lat.c | 119 | ||||
-rw-r--r-- | perf/c/remote_thr.c | 98 |
5 files changed, 0 insertions, 588 deletions
diff --git a/perf/c/Makefile.am b/perf/c/Makefile.am deleted file mode 100644 index d48dcee..0000000 --- a/perf/c/Makefile.am +++ /dev/null @@ -1,129 +0,0 @@ -INCLUDES = -I$(top_builddir)/include - -if BUILD_PGM_EXAMPLES -PGM_EXAMPLES_BINS = pgmsend pgmrecv -endif - -noinst_PROGRAMS = local_lat remote_lat local_thr remote_thr $(PGM_EXAMPLES_BINS) - -local_lat_LDADD = $(top_builddir)/src/libzmq.la -local_lat_SOURCES = local_lat.c -local_lat_CXXFLAGS = -Wall -pedantic -Werror - -remote_lat_LDADD = $(top_builddir)/src/libzmq.la -remote_lat_SOURCES = remote_lat.c -remote_lat_CXXFLAGS = -Wall -pedantic -Werror - -local_thr_LDADD = $(top_builddir)/src/libzmq.la -local_thr_SOURCES = local_thr.c -local_thr_CXXFLAGS = -Wall -pedantic -Werror - -remote_thr_LDADD = $(top_builddir)/src/libzmq.la -remote_thr_SOURCES = remote_thr.c -remote_thr_CXXFLAGS = -Wall -pedantic -Werror - -if BUILD_PGM_EXAMPLES - -if ON_MINGW -pgmexamples_diff_flags = \ - -D_WIN32_WINNT=0x0501 \ - -DCONFIG_HAVE_IFR_NETMASK \ - -DCONFIG_BIND_INADDR_ANY \ - -DCONFIG_GALOIS_MUL_LUT \ - -DIF_NAMESIZE=256 \ - -DPGM_GNUC_INTERNAL=G_GNUC_INTERNAL \ - -DCONFIG_HAVE_WSACMSGHDR \ - -DGETTEXT_PACKAGE='"pgm"' \ - -DG_LOG_DOMAIN='"Pgm"' - -else -pgmexamples_diff_flags = \ - -D__need_IOV_MAX \ - -DCONFIG_HAVE_PSELECT \ - -DCONFIG_HAVE_POLL \ - -DCONFIG_HAVE_PPOLL \ - -DCONFIG_HAVE_EPOLL \ - -DCONFIG_HAVE_CLOCK_GETTIME \ - -DCONFIG_HAVE_CLOCK_NANOSLEEP \ - -DCONFIG_HAVE_NANOSLEEP \ - -DCONFIG_HAVE_USLEEP \ - -DCONFIG_HAVE_RTC \ - -DCONFIG_HAVE_TSC \ - -DCONFIG_HAVE_IFR_NETMASK \ - -DCONFIG_HAVE_GETIFADDRS \ - -DCONFIG_HAVE_GETHOSTBYNAME2 \ - -DCONFIG_HAVE_GETPROTOBYNAME_R \ - -DCONFIG_BIND_INADDR_ANY \ - -DCONFIG_GALOIS_MUL_LUT \ - -DCONFIG_HAVE_MCAST_JOIN \ - -DCONFIG_HAVE_IP_MREQN \ - -DCONFIG_HAVE_SPRINTF_GROUPING \ - -DCONFIG_HAVE_HPET \ - -DPGM_GNUC_INTERNAL=G_GNUC_INTERNAL \ - -DGETTEXT_PACKAGE='"pgm"' \ - -DG_LOG_DOMAIN='"Pgm"' -endif - -nodist_pgmsend_SOURCES = ../../foreign/openpgm/@pgm_basename@/openpgm/pgm/examples/pgmsend.c -pgmsend_LDADD = $(top_builddir)/src/libzmq.la -pgmsend_CFLAGS = -I$(top_srcdir)/foreign/openpgm/@pgm_basename@/openpgm/pgm/include/ -Wall @LIBZMQ_EXTRA_CXXFLAGS@ \ - -pipe \ - -Wall \ - -Wextra \ - -Wfloat-equal \ - -Wshadow \ - -Wunsafe-loop-optimizations \ - -Wpointer-arith \ - -Wbad-function-cast \ - -Wcast-qual \ - -Wcast-align \ - -Wwrite-strings \ - -Waggregate-return \ - -Wstrict-prototypes \ - -Wold-style-definition \ - -Wmissing-prototypes \ - -Wmissing-declarations \ - -Wmissing-noreturn \ - -Wmissing-format-attribute \ - -Wredundant-decls \ - -Wnested-externs \ - -Winline \ - -pedantic \ - -std=gnu99 \ - --param max-inline-insns-single=600 \ - -D_REENTRANT \ - -D_GNU_SOURCE \ - ${pgmexamples_diff_flags} - -nodist_pgmrecv_SOURCES = ../../foreign/openpgm/@pgm_basename@/openpgm/pgm/examples/pgmrecv.c -pgmrecv_LDADD = $(top_builddir)/src/libzmq.la -pgmrecv_CFLAGS = -I$(top_srcdir)/foreign/openpgm/@pgm_basename@/openpgm/pgm/include/ -Wall @LIBZMQ_EXTRA_CXXFLAGS@ \ - -pipe \ - -Wall \ - -Wextra \ - -Wfloat-equal \ - -Wshadow \ - -Wunsafe-loop-optimizations \ - -Wpointer-arith \ - -Wbad-function-cast \ - -Wcast-qual \ - -Wcast-align \ - -Wwrite-strings \ - -Waggregate-return \ - -Wstrict-prototypes \ - -Wold-style-definition \ - -Wmissing-prototypes \ - -Wmissing-declarations \ - -Wmissing-noreturn \ - -Wmissing-format-attribute \ - -Wredundant-decls \ - -Wnested-externs \ - -Winline \ - -pedantic \ - -std=gnu99 \ - --param max-inline-insns-single=600 \ - -D_REENTRANT \ - -D_GNU_SOURCE \ - ${pgmexamples_diff_flags} - -endif diff --git a/perf/c/local_lat.c b/perf/c/local_lat.c deleted file mode 100644 index bd71f82..0000000 --- a/perf/c/local_lat.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <zmq.h> -#include <stdio.h> -#include <stdlib.h> - -int main (int argc, char *argv []) -{ - const char *bind_to; - int roundtrip_count; - int message_size; - void *ctx; - void *s; - int rc; - int i; - zmq_msg_t msg; - - if (argc != 4) { - printf ("usage: local_lat <bind-to> <message-size> " - "<roundtrip-count>\n"); - return 1; - } - bind_to = argv [1]; - message_size = atoi (argv [2]); - roundtrip_count = atoi (argv [3]); - - ctx = zmq_init (1, 1, 0); - if (!ctx) { - printf ("error in zmq_init: %s\n", zmq_strerror (errno)); - return -1; - } - - s = zmq_socket (ctx, ZMQ_REP); - if (!s) { - printf ("error in zmq_socket: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_bind (s, bind_to); - if (rc != 0) { - printf ("error in zmq_bind: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_msg_init (&msg); - if (rc != 0) { - printf ("error in zmq_msg_init: %s\n", zmq_strerror (errno)); - return -1; - } - - for (i = 0; i != roundtrip_count; i++) { - rc = zmq_recv (s, &msg, 0); - if (rc != 0) { - printf ("error in zmq_recv: %s\n", zmq_strerror (errno)); - return -1; - } - if (zmq_msg_size (&msg) != message_size) { - printf ("message of incorrect size received\n"); - return -1; - } - rc = zmq_send (s, &msg, 0); - if (rc != 0) { - printf ("error in zmq_send: %s\n", zmq_strerror (errno)); - return -1; - } - } - - rc = zmq_msg_close (&msg); - if (rc != 0) { - printf ("error in zmq_msg_close: %s\n", zmq_strerror (errno)); - return -1; - } - - zmq_sleep (1); - - rc = zmq_close (s); - if (rc != 0) { - printf ("error in zmq_close: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_term (ctx); - if (rc != 0) { - printf ("error in zmq_term: %s\n", zmq_strerror (errno)); - return -1; - } - - return 0; -} diff --git a/perf/c/local_thr.c b/perf/c/local_thr.c deleted file mode 100644 index cfebd2d..0000000 --- a/perf/c/local_thr.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <zmq.h> -#include <stdio.h> -#include <stdlib.h> - -int main (int argc, char *argv []) -{ - const char *bind_to; - int message_count; - int message_size; - void *ctx; - void *s; - int rc; - int i; - zmq_msg_t msg; - void *watch; - unsigned long elapsed; - unsigned long throughput; - double megabits; - - if (argc != 4) { - printf ("usage: local_thr <bind-to> <message-size> <message-count>\n"); - return 1; - } - bind_to = argv [1]; - message_size = atoi (argv [2]); - message_count = atoi (argv [3]); - - ctx = zmq_init (1, 1, 0); - if (!ctx) { - printf ("error in zmq_send: %s\n", zmq_strerror (errno)); - return -1; - } - - s = zmq_socket (ctx, ZMQ_SUB); - if (!s) { - printf ("error in zmq_socket: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_setsockopt (s, ZMQ_SUBSCRIBE , "", 0); - if (rc != 0) { - printf ("error in zmq_setsockopt: %s\n", zmq_strerror (errno)); - return -1; - } - - // Add your socket options here. - // For example ZMQ_RATE, ZMQ_RECOVERY_IVL and ZMQ_MCAST_LOOP for PGM. - - rc = zmq_bind (s, bind_to); - if (rc != 0) { - printf ("error in zmq_bind: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_msg_init (&msg); - if (rc != 0) { - printf ("error in zmq_msg_init: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_recv (s, &msg, 0); - if (rc != 0) { - printf ("error in zmq_recv: %s\n", zmq_strerror (errno)); - return -1; - } - if (zmq_msg_size (&msg) != message_size) { - printf ("message of incorrect size received\n"); - return -1; - } - - watch = zmq_stopwatch_start (); - - for (i = 0; i != message_count - 1; i++) { - rc = zmq_recv (s, &msg, 0); - if (rc != 0) { - printf ("error in zmq_recv: %s\n", zmq_strerror (errno)); - return -1; - } - if (zmq_msg_size (&msg) != message_size) { - printf ("message of incorrect size received\n"); - return -1; - } - } - - elapsed = zmq_stopwatch_stop (watch); - if (elapsed == 0) - elapsed = 1; - - rc = zmq_msg_close (&msg); - if (rc != 0) { - printf ("error in zmq_msg_close: %s\n", zmq_strerror (errno)); - return -1; - } - - throughput = (unsigned long) - ((double) message_count / (double) elapsed * 1000000); - megabits = (double) (throughput * message_size * 8) / 1000000; - - printf ("message size: %d [B]\n", (int) message_size); - printf ("message count: %d\n", (int) message_count); - printf ("mean throughput: %d [msg/s]\n", (int) throughput); - printf ("mean throughput: %.3f [Mb/s]\n", (double) megabits); - - rc = zmq_close (s); - if (rc != 0) { - printf ("error in zmq_close: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_term (ctx); - if (rc != 0) { - printf ("error in zmq_term: %s\n", zmq_strerror (errno)); - return -1; - } - - return 0; -} diff --git a/perf/c/remote_lat.c b/perf/c/remote_lat.c deleted file mode 100644 index 901afd5..0000000 --- a/perf/c/remote_lat.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <zmq.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -int main (int argc, char *argv []) -{ - const char *connect_to; - int roundtrip_count; - int message_size; - void *ctx; - void *s; - int rc; - int i; - zmq_msg_t msg; - void *watch; - unsigned long elapsed; - double latency; - - if (argc != 4) { - printf ("usage: remote_lat <connect-to> <message-size> " - "<roundtrip-count>\n"); - return 1; - } - connect_to = argv [1]; - message_size = atoi (argv [2]); - roundtrip_count = atoi (argv [3]); - - ctx = zmq_init (1, 1, 0); - if (!ctx) { - printf ("error in zmq_init: %s\n", zmq_strerror (errno)); - return -1; - } - - s = zmq_socket (ctx, ZMQ_REQ); - if (!s) { - printf ("error in zmq_socket: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_connect (s, connect_to); - if (rc != 0) { - printf ("error in zmq_connect: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_msg_init_size (&msg, message_size); - if (rc != 0) { - printf ("error in zmq_msg_init_size: %s\n", zmq_strerror (errno)); - return -1; - } - memset (zmq_msg_data (&msg), 0, message_size); - - watch = zmq_stopwatch_start (); - - for (i = 0; i != roundtrip_count; i++) { - rc = zmq_send (s, &msg, 0); - if (rc != 0) { - printf ("error in zmq_send: %s\n", zmq_strerror (errno)); - return -1; - } - rc = zmq_recv (s, &msg, 0); - if (rc != 0) { - printf ("error in zmq_recv: %s\n", zmq_strerror (errno)); - return -1; - } - if (zmq_msg_size (&msg) != message_size) { - printf ("message of incorrect size received\n"); - return -1; - } - } - - elapsed = zmq_stopwatch_stop (watch); - - rc = zmq_msg_close (&msg); - if (rc != 0) { - printf ("error in zmq_msg_close: %s\n", zmq_strerror (errno)); - return -1; - } - - latency = (double) elapsed / (roundtrip_count * 2); - - printf ("message size: %d [B]\n", (int) message_size); - printf ("roundtrip count: %d\n", (int) roundtrip_count); - printf ("average latency: %.3f [us]\n", (double) latency); - - rc = zmq_close (s); - if (rc != 0) { - printf ("error in zmq_close: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_term (ctx); - if (rc != 0) { - printf ("error in zmq_term: %s\n", zmq_strerror (errno)); - return -1; - } - - return 0; -} diff --git a/perf/c/remote_thr.c b/perf/c/remote_thr.c deleted file mode 100644 index 43956e6..0000000 --- a/perf/c/remote_thr.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <zmq.h> -#include <stdio.h> -#include <stdlib.h> - -int main (int argc, char *argv []) -{ - const char *connect_to; - int message_count; - int message_size; - void *ctx; - void *s; - int rc; - int i; - zmq_msg_t msg; - - if (argc != 4) { - printf ("usage: remote_thr <connect-to> <message-size> " - "<message-count>\n"); - return 1; - } - connect_to = argv [1]; - message_size = atoi (argv [2]); - message_count = atoi (argv [3]); - - ctx = zmq_init (1, 1, 0); - if (!ctx) { - printf ("error in zmq_recv: %s\n", zmq_strerror (errno)); - return -1; - } - - s = zmq_socket (ctx, ZMQ_PUB); - if (!s) { - printf ("error in zmq_socket: %s\n", zmq_strerror (errno)); - return -1; - } - - // Add your socket options here. - // For example ZMQ_RATE, ZMQ_RECOVERY_IVL and ZMQ_MCAST_LOOP for PGM. - - rc = zmq_connect (s, connect_to); - if (rc != 0) { - printf ("error in zmq_connect: %s\n", zmq_strerror (errno)); - return -1; - } - - for (i = 0; i != message_count; i++) { - rc = zmq_msg_init_size (&msg, message_size); - if (rc != 0) { - printf ("error in zmq_msg_init_size: %s\n", zmq_strerror (errno)); - return -1; - } - rc = zmq_send (s, &msg, 0); - if (rc != 0) { - printf ("error in zmq_send: %s\n", zmq_strerror (errno)); - return -1; - } - rc = zmq_msg_close (&msg); - if (rc != 0) { - printf ("error in zmq_msg_close: %s\n", zmq_strerror (errno)); - return -1; - } - } - - zmq_sleep (10); - - rc = zmq_close (s); - if (rc != 0) { - printf ("error in zmq_close: %s\n", zmq_strerror (errno)); - return -1; - } - - rc = zmq_term (ctx); - if (rc != 0) { - printf ("error in zmq_term: %s\n", zmq_strerror (errno)); - return -1; - } - - return 0; -} |