From 531b99251c7d79ec82aa9871faf2c27f2971e8f0 Mon Sep 17 00:00:00 2001 From: Gabriel Ferreira Date: Mon, 7 Feb 2022 11:04:53 -0300 Subject: [PATCH] build: add code to build test/perf/perf-io.cc --- src/test/perf/wscript | 10 ---------- utils/CMakeLists.txt | 6 ++++++ {src/test => utils}/perf/perf-io.cc | 8 ++++---- utils/wscript | 3 +++ 4 files changed, 13 insertions(+), 14 deletions(-) delete mode 100644 src/test/perf/wscript rename {src/test => utils}/perf/perf-io.cc (96%) diff --git a/src/test/perf/wscript b/src/test/perf/wscript deleted file mode 100644 index cd3443a8a..000000000 --- a/src/test/perf/wscript +++ /dev/null @@ -1,10 +0,0 @@ -## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- - -def configure(conf): - pass - -def build(bld): - obj = bld.create_ns3_program('perf-io') - obj.source = 'perf-io.cc' - - diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index da7ab4f27..eb5c4c3b3 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -41,3 +41,9 @@ if(network IN_LIST libs_to_build) print-introspected-doxygen ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/utils/ "" ) endif() + +if(core IN_LIST ns3-all-enabled-modules) + add_executable(perf-io perf/perf-io.cc) + target_link_libraries(perf-io PRIVATE ${libcore}) + set_runtime_outputdirectory(perf-io ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/utils/perf/ "") +endif() diff --git a/src/test/perf/perf-io.cc b/utils/perf/perf-io.cc similarity index 96% rename from src/test/perf/perf-io.cc rename to utils/perf/perf-io.cc index 288fec5b6..1a08faddd 100644 --- a/src/test/perf/perf-io.cc +++ b/utils/perf/perf-io.cc @@ -83,7 +83,7 @@ PerfFile (FILE *file, uint32_t n, const char *buffer, uint32_t size) * \param size The buffer size. */ void -PerfStream (ostream &stream, uint32_t n, const char *buffer, uint32_t size) +PerfStream (std::ostream &stream, uint32_t n, const char *buffer, uint32_t size) { for (uint32_t i = 0; i < n; ++i) @@ -121,7 +121,7 @@ main (int argc, char *argv[]) // for (uint32_t i = 0; i < iter; ++i) { - ofstream stream; + std::ofstream stream; if (binmode) { stream.open ("streamtest", std::ios_base::binary | std::ios_base::out); @@ -134,11 +134,11 @@ main (int argc, char *argv[]) uint64_t start = GetRealtimeInNs (); PerfStream (stream, n, buffer, 1024); uint64_t et = GetRealtimeInNs () - start; - result = min (result, et); + result = std::min (result, et); stream.close (); std::cout << "."; std::cout.flush (); } - cout << std::endl; + std::cout << std::endl; } else { diff --git a/utils/wscript b/utils/wscript index 15042b237..26e966d45 100644 --- a/utils/wscript +++ b/utils/wscript @@ -32,3 +32,6 @@ def build(bld): obj = bld.create_ns3_program('print-introspected-doxygen', ['network']) obj.source = 'print-introspected-doxygen.cc' obj.use = [mod for mod in env['NS3_ENABLED_MODULES']] + + obj = bld.create_ns3_program('perf-io', ['core']) + obj.source = 'perf/perf-io.cc' \ No newline at end of file