Почему, настраивают настолько медленный в MSYS?

Когда я использую MSYS для компиляции чего-то, ./configure шаг может занять больше времени, чем make. Однако тот же процесс в Linux имеет быстрое, настраивают, и медленный делают. Разве это - просто некоторая установка в MSYS, который является срыванием моя система? У кого-либо есть решение?

17
задан User1 13 February 2010 в 02:07
поделиться

1 ответ

Типичные сценарии configure выполняют много запуска небольших подпроцессов. В Unix-подобных операционных системах это делается с помощью вызовов функций fork () и exec () , которые имеют очень специфическую семантику, которую необходимо сохранить (например, copy- разделяемая память при записи после разветвления). В Windows подпроцессы создаются с помощью CreateProcess () , который имеет совсем другую семантику (например, полностью отделяет пространство памяти от родительского). Для правильного выполнения Unix-подобных сценариев и программ MSYS необходимо проделать большую работу по эмуляции, чтобы создание новых процессов в Windows работало как fork () / exec () в Unix. В конечном итоге это оказывается медленнее, чем ОС, которая предлагает эти вызовы функций изначально.

21
ответ дан 30 November 2019 в 13:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: