You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Bannier (JIRA)" <ji...@apache.org> on 2019/02/04 12:55:00 UTC
[jira] [Commented] (MESOS-8835) mesos-tests takes a long time to
execute no tests
[ https://issues.apache.org/jira/browse/MESOS-8835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16759833#comment-16759833 ]
Benjamin Bannier commented on MESOS-8835:
-----------------------------------------
I posted a patch which moves the expensive parameter calculation from test instantiation to test execution time. Remaining slowness (on the order of ~500ms) is due to filter evaluation.
[~bmahler] [~dma1982], could any of you shepherd this?
> mesos-tests takes a long time to execute no tests
> -------------------------------------------------
>
> Key: MESOS-8835
> URL: https://issues.apache.org/jira/browse/MESOS-8835
> Project: Mesos
> Issue Type: Bug
> Components: test
> Reporter: Benjamin Bannier
> Assignee: Benjamin Bannier
> Priority: Minor
>
> Executing {{mesos-tests}} takes substantially more time than running {{stout-tests}} or {{libprocess-tests}} when no tests are executed, e.g., for a release build with debug symbols
> {noformat}
> _|master⚡ ⇒ GTEST_FILTER= hyperfine --warmup=3 ./3rdparty/stout/tests/stout-tests ./3rdparty/libprocess/src/tests/libprocess-tests ./src/mesos-tests
> Benchmark #1: ./3rdparty/stout/tests/stout-tests
> Time (mean ± σ): 17.1 ms ± 4.3 ms [User: 12.4 ms, System: 4.5 ms]
> Range (min … max): 11.3 ms … 25.1 ms
> Benchmark #2: ./3rdparty/libprocess/src/tests/libprocess-tests
> Time (mean ± σ): 17.2 ms ± 0.2 ms [User: 13.7 ms, System: 4.7 ms]
> Range (min … max): 16.9 ms … 18.0 ms
> Benchmark #3: ./src/mesos-tests
> Time (mean ± σ): 795.4 ms ± 10.5 ms [User: 397.6 ms, System: 79.5 ms]
> Range (min … max): 784.7 ms … 814.3 ms
> Summary
> './3rdparty/stout/tests/stout-tests' ran
> 1.01x faster than './3rdparty/libprocess/src/tests/libprocess-tests'
> 46.56x faster than './src/mesos-tests'
> {noformat}
> Looking at where time is spent with {{perf}} points to two {{parameters}} functions in {{src/tests/resources_tests.cpp}}. These functions construct large collections of {{Resource}} when registering {{Resources_Contains_BENCHMARK_Test}} and {{Resources_Scalar_Arithmetic_BENCHMARK_Test}}, i.e., these functions will be executed even if the corresponding test is filtered out.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)