Ответ 1
Считая вашу связанную страницу и некоторые другие связанные источники (например, эту проблему github), некоторые пользователи обнаружили, что:
... использование
--runInBand
помогает в среде с ограниченными ресурсами.
а также
...
--runInBand
наши тесты с> 1,5 часов (на самом деле я не знаю, как долго, потому что Дженкинс пробыл в 1,5 часа) примерно до 4 минут. (Примечание: у нас очень плохие ресурсы для нашего сервера сборки)
Как мы видим, эти пользователи улучшили свои характеристики на своих машинах, хотя у них были ограниченные ресурсы. Если мы прочитаем, что делает флаг --runInBand
из документов, он говорит:
Псевдоним: -i. Запускайте все тесты последовательно в текущем процессе, а не создавайте рабочий пул дочерних процессов, которые запускают тесты. Это может быть полезно для отладки.
Поэтому, принимая во внимание эти комментарии и документы, я считаю, что улучшение производительности связано с тем, что теперь процесс выполняется в одном потоке. Это очень помогает компьютеру с ограниченными ресурсами, поскольку ему не нужно тратить память и время на обработку и обработку нескольких потоков в пуле потоков, что может оказаться слишком дорогостоящим для его ограниченных ресурсов.
Тем не менее, я считаю, что это так, только если машина, которую вы используете, также имеет ограниченные ресурсы. Если вы использовали более "мощную" машину (то есть: несколько ядер, достойную RAM, SSD и т.д.), Используя несколько потоков, вероятно, будет лучше, чем запуск одного.