On Tue, Nov 26, 2024 at 11:11 AM Daniel Sahlberg <
daniel.l.sahlb...@gmail.com> wrote:

> Den mån 25 nov. 2024 kl 15:10 skrev <rin...@apache.org>:
>
>> ### This makes configure step too slow if the option is enabled. Can we
>> ### prevent regeneration of the tests list if these files haven't been
>> ### changed? Probably, I'll look at this a bit more, if we consider this
>> ### as an issue.
>> ###
>> ### However, when I measured the time taken to configure CMake, I got just
>> ### 6.5s with the option enabled, against 0.8s when it has been
>> disabled...
>>
>
> This looks great. I think the slowdown is more than acceptable since:
> - It is off by default so it won't slowdown a non-user.
> - It adds a lot of value to those who use it.
>
> If you find an easy way to recover this lost time it'd be nice but I think
> other things should have higher priority.
>

Going a bit off-topic:

This makes it take a lot of time to run the tests, especially with CMake,
which doesn't support parallel execution. For example, in my environment,
it takes 6.4 min to run only merge_tests.py (it includes 146 subtests). For
instance, I am measuring it with cmake and EXPAND_TESTS option enabled.

However, it's so complicated to implement the parallel execution, because
the Subversion test-suite needs to create repositories and working copies
for sharing between the tests. Usually, it does it when tests are beginning
to run, like when `make check` has been invoked.

So, if a few tests are running at the same time, they will try to create
one working-copy over another, causing a failure.

To try it out, run the tests using `ctest -j 16` command (it will fail).

-- 
Timofei Zhakov

Reply via email to