From 79135c09fac78b01bde7335ed42d4275475501e5 Mon Sep 17 00:00:00 2001 From: Xavier L'Heureux <xavier.lheureux@icloud.com> Date: Wed, 3 Jul 2019 13:08:55 -0400 Subject: [PATCH] Run one process per CPU --- tests/run_examples.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/run_examples.sh b/tests/run_examples.sh index 7bba463f..af4871ae 100755 --- a/tests/run_examples.sh +++ b/tests/run_examples.sh @@ -68,14 +68,17 @@ export TAGFAIL export TAGPASS export EXAMPLES_DIR +# See https://prefetch.net/blog/2017/08/17/using-xargs-and-lscpu-to-spawn-one-process-per-cpu-core/ +CPU_CORES=$(lscpu -p=CORE,ONLINE | grep -c 'Y') + # Build debug binary cargo +$TOOLCHAIN build # Iterate over every Ion script in examples directory -ls -1 $EXAMPLES_DIR/*.ion | xargs -P 0 -n 1 -I {} bash -c "check_return_value {}" +ls -1 $EXAMPLES_DIR/*.ion | xargs -P $CPU_CORES -n 1 -I {} bash -c "check_return_value {}" # Iterate over every parameter set -ls -1 $EXAMPLES_DIR/*.params | xargs -P 0 -n 1 -I {} bash -c "test_cli {}" +ls -1 $EXAMPLES_DIR/*.params | xargs -P $CPU_CORES -n 1 -I {} bash -c "test_cli {}" # Build debug binary for testing structopt argument parsing cargo +$TOOLCHAIN build --features=advanced_arg_parsing # Iterate over every parameter set -ls -1 $EXAMPLES_DIR/*.params | xargs -P 0 -n 1 -I {} bash -c "test_cli {}" +ls -1 $EXAMPLES_DIR/*.params | xargs -P $CPU_CORES -n 1 -I {} bash -c "test_cli {}" -- GitLab