diff --git a/perf/generate_csv.sh b/perf/generate_csv.sh index 226baa3b..d307f29e 100755 --- a/perf/generate_csv.sh +++ b/perf/generate_csv.sh @@ -81,6 +81,7 @@ function generate_output_file() fi echo "Resetting output file $OUTPUT_FILE_TXT and $OUTPUT_FILE_CSV" + mkdir -p ${OUTPUT_DIR} > $OUTPUT_FILE_TXT echo "$CSV_HEADER_LINE" > $OUTPUT_FILE_CSV diff --git a/perf/generate_graphs.py b/perf/generate_graphs.py index 6efa94f8..20651b71 100755 --- a/perf/generate_graphs.py +++ b/perf/generate_graphs.py @@ -5,11 +5,14 @@ # and that locally there is the "results" folder. # -# configurable values: +# results for TCP: INPUT_FILE_PUSHPULL_TCP_THROUGHPUT="results/pushpull_tcp_thr_results.csv" +INPUT_FILE_REQREP_TCP_LATENCY="results/reqrep_tcp_lat_results.csv" +TCP_LINK_GPBS=100 + +# results for INPROC: INPUT_FILE_PUSHPULL_INPROC_THROUGHPUT="results/pushpull_inproc_thr_results.csv" INPUT_FILE_PUBSUBPROXY_INPROC_THROUGHPUT="results/pubsubproxy_inproc_thr_results.csv" -INPUT_FILE_REQREP_TCP_LATENCY="results/reqrep_tcp_lat_results.csv" # dependencies @@ -23,7 +26,7 @@ import numpy as np # functions -def plot_throughput(csv_filename, title, force_10gb_limits=False): +def plot_throughput(csv_filename, title, is_tcp=False): message_size_bytes, message_count, pps, mbps = np.loadtxt(csv_filename, delimiter=',', unpack=True) fig, ax1 = plt.subplots() @@ -40,8 +43,8 @@ def plot_throughput(csv_filename, title, force_10gb_limits=False): ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis ax2.set_ylabel('Throughput [Gb/s]', color=color) ax2.semilogx(message_size_bytes, mbps / 1e3, label='Throughput [Gb/s]', marker='o') - if force_10gb_limits: - ax2.set_yticks(np.arange(0, 11, 1)) + if is_tcp: + ax2.set_yticks(np.arange(0, TCP_LINK_GPBS + 1, TCP_LINK_GPBS/10)) ax2.tick_params(axis='y', labelcolor=color) ax2.grid(True) @@ -64,7 +67,7 @@ def plot_latency(csv_filename, title): # main -plot_throughput(INPUT_FILE_PUSHPULL_TCP_THROUGHPUT, 'ZeroMQ PUSH/PULL socket throughput, TCP transport', force_10gb_limits=True) +plot_throughput(INPUT_FILE_PUSHPULL_TCP_THROUGHPUT, 'ZeroMQ PUSH/PULL socket throughput, TCP transport', is_tcp=True) plot_throughput(INPUT_FILE_PUSHPULL_INPROC_THROUGHPUT, 'ZeroMQ PUSH/PULL socket throughput, INPROC transport') plot_throughput(INPUT_FILE_PUBSUBPROXY_INPROC_THROUGHPUT, 'ZeroMQ PUB/SUB PROXY socket throughput, INPROC transport') plot_latency(INPUT_FILE_REQREP_TCP_LATENCY, 'ZeroMQ REQ/REP socket latency, TCP transport')