Skip to content

Commit 20d6fec

Browse files
authored
Merge pull request #68718 from tbkka/tbkka-build-script-benchmarks
Fix build-script -B
2 parents e2a210b + e3e72fc commit 20d6fec

File tree

3 files changed

+35
-14
lines changed

3 files changed

+35
-14
lines changed

benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,26 @@ function(swift_benchmark_compile)
751751
DEPENDS ${platform_executables})
752752

753753
if(NOT SWIFT_BENCHMARK_BUILT_STANDALONE AND "${SWIFT_BENCHMARK_COMPILE_PLATFORM}" STREQUAL "macosx")
754+
set(SWIFT_BENCHMARK_ARGS)
755+
list(APPEND SWIFT_BENCHMARK_ARGS "--output-dir")
756+
list(APPEND SWIFT_BENCHMARK_ARGS "${CMAKE_CURRENT_BINARY_DIR}/logs")
757+
list(APPEND SWIFT_BENCHMARK_ARGS "--swift-repo")
758+
list(APPEND SWIFT_BENCHMARK_ARGS "${SWIFT_SOURCE_DIR}")
759+
list(APPEND SWIFT_BENCHMARK_ARGS "--architecture")
760+
list(APPEND SWIFT_BENCHMARK_ARGS "${arch}")
761+
762+
set(SWIFT_O_BENCHMARK_ARGS)
763+
if(DEFINED SWIFT_BENCHMARK_NUM_O_ITERATIONS)
764+
list(APPEND SWIFT_O_BENCHMARK_ARGS "--independent-samples")
765+
list(APPEND SWIFT_O_BENCHMARK_ARGS "${SWIFT_BENCHMARK_NUM_O_ITERATIONS}")
766+
endif()
767+
768+
set(SWIFT_ONONE_BENCHMARK_ARGS)
769+
if(DEFINED SWIFT_BENCHMARK_NUM_ONONE_ITERATIONS)
770+
list(APPEND SWIFT_O_BENCHMARK_ARGS "--independent-samples")
771+
list(APPEND SWIFT_O_BENCHMARK_ARGS "${SWIFT_BENCHMARK_NUM_ONONE_ITERATIONS}")
772+
endif()
773+
754774
add_custom_command(
755775
TARGET "${executable_target}"
756776
POST_BUILD
@@ -759,15 +779,13 @@ function(swift_benchmark_compile)
759779

760780
add_custom_target("check-${executable_target}"
761781
COMMAND "${swift-bin-dir}/Benchmark_Driver" "run"
762-
"-o" "O" "--output-dir" "${CMAKE_CURRENT_BINARY_DIR}/logs"
763-
"--architecture" "${arch}"
764-
"--swift-repo" "${SWIFT_SOURCE_DIR}"
765-
"--independent-samples" "${SWIFT_BENCHMARK_NUM_O_ITERATIONS}"
782+
"-o" "O"
783+
${SWIFT_BENCHMARK_ARGS}
784+
${SWIFT_O_BENCHMARK_ARGS}
766785
COMMAND "${swift-bin-dir}/Benchmark_Driver" "run"
767-
"-o" "Onone" "--output-dir" "${CMAKE_CURRENT_BINARY_DIR}/logs"
768-
"--swift-repo" "${SWIFT_SOURCE_DIR}"
769-
"--architecture" "${arch}"
770-
"--independent-samples" "${SWIFT_BENCHMARK_NUM_ONONE_ITERATIONS}"
786+
"-o" "Onone"
787+
${SWIFT_BENCHMARK_ARGS}
788+
${SWIFT_ONONE_BENCHMARK_ARGS}
771789
COMMAND "${swift-bin-dir}/Benchmark_Driver" "compare"
772790
"--log-dir" "${CMAKE_CURRENT_BINARY_DIR}/logs"
773791
"--swift-repo" "${SWIFT_SOURCE_DIR}"

benchmark/scripts/Benchmark_Driver

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,8 @@ class BenchmarkDriver(object):
226226
cmd.extend([str(self.test_number.get(name, name)) for name in self.tests])
227227
if num_samples > 0:
228228
cmd.append("--num-samples={0}".format(num_samples))
229+
else:
230+
cmd.append("--min-samples=2")
229231
if num_iters > 0:
230232
cmd.append("--num-iters={0}".format(num_iters))
231233
if sample_time > 0:

benchmark/scripts/test_Benchmark_Driver.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ def setUp(self):
329329
def test_run_benchmark_with_multiple_samples(self):
330330
self.driver.run("b1")
331331
self.subprocess_mock.assert_called_with(
332-
("/benchmarks/Benchmark_O-*", "b1")
332+
("/benchmarks/Benchmark_O-*", "b1", "--min-samples=2")
333333
)
334334
self.driver.run("b2", num_samples=5)
335335
self.subprocess_mock.assert_called_with(
@@ -339,19 +339,19 @@ def test_run_benchmark_with_multiple_samples(self):
339339
def test_run_benchmark_with_specified_number_of_iterations(self):
340340
self.driver.run("b", num_iters=1)
341341
self.subprocess_mock.assert_called_with(
342-
("/benchmarks/Benchmark_O-*", "b", "--num-iters=1")
342+
("/benchmarks/Benchmark_O-*", "b", "--min-samples=2", "--num-iters=1")
343343
)
344344

345345
def test_run_benchmark_for_specified_time(self):
346346
self.driver.run("b", sample_time=0.5)
347347
self.subprocess_mock.assert_called_with(
348-
("/benchmarks/Benchmark_O-*", "b", "--sample-time=0.5")
348+
("/benchmarks/Benchmark_O-*", "b", "--min-samples=2", "--sample-time=0.5")
349349
)
350350

351351
def test_run_benchmark_in_verbose_mode(self):
352352
self.driver.run("b", verbose=True)
353353
self.subprocess_mock.assert_called_with(
354-
("/benchmarks/Benchmark_O-*", "b", "--verbose")
354+
("/benchmarks/Benchmark_O-*", "b", "--min-samples=2", "--verbose")
355355
)
356356

357357
def test_run_batch(self):
@@ -363,7 +363,7 @@ def test_run_batch(self):
363363
self.driver.tests = ["b1", "bx"]
364364
self.driver.run()
365365
self.subprocess_mock.assert_called_with(
366-
("/benchmarks/Benchmark_O-*", "1", "bx")
366+
("/benchmarks/Benchmark_O-*", "1", "bx", "--min-samples=2")
367367
)
368368

369369
def test_parse_results_from_running_benchmarks(self):
@@ -382,7 +382,7 @@ def test_parse_results_from_running_benchmarks(self):
382382
def test_measure_memory(self):
383383
self.driver.run("b", measure_memory=True)
384384
self.subprocess_mock.assert_called_with(
385-
("/benchmarks/Benchmark_O-*", "b", "--memory")
385+
("/benchmarks/Benchmark_O-*", "b", "--min-samples=2", "--memory")
386386
)
387387

388388
def test_run_benchmark_independent_samples(self):
@@ -394,6 +394,7 @@ def test_run_benchmark_independent_samples(self):
394394
(
395395
"/benchmarks/Benchmark_O-*",
396396
"b1",
397+
"--min-samples=2",
397398
"--num-iters=1",
398399
"--memory",
399400
)

0 commit comments

Comments
 (0)