Время компиляции операционной системы - PullRequest
23 голосов
/ 22 октября 2008

Это просто общий вопрос - я сидел и ждал, пока не скомпилируется немного программного обеспечения (мы используем Incredibuild, но все еще можем занять 10/15 минут), и меня удивило, кто-нибудь знает, сколько времени понадобилось, чтобы компилировать Windows XP или Vista?

Я немного погуглил, но полезной информации не нашел

Ответы [ 8 ]

42 голосов
/ 22 октября 2008

ОП запрашивает Windows :

"Других программных проектов нет как это, " Луковский сказал", но одна вещь, которая осталась неизменной [в течение многих лет] это сколько времени это займет построить [Windows]. Независимо от того, какой генерация продукта, занимает 12 часов на компиляцию и компоновку системы. " Даже с увеличением обработки лошадиных сил на протяжении многих лет, Windows имеет вырос, чтобы соответствовать, и развитие процесс стал гораздо более сложный, так что Microsoft делает больше анализа кода как часть ежедневная сборка. «Процессоры в сборке лаборатория привязана постоянно на 12 часов, "сказал он." Мы адаптировали процесс начиная с Windows 2000. Теперь мы разложить исходное дерево [код] на независимые исходные деревья, и использовать новая среда сборки. Это мультимашинная среда, которая позволяет нам поверните рукоятку быстрее. Но из-за анализ всего нового кода, это все еще занимает 12 часов. "

ИСТОЧНИК

Также см. Классическую презентацию Марка Луковского по разработке Windows NT / 2000.

Я не работаю в Microsoft, поэтому точно не знаю ...

6 голосов
/ 22 октября 2008

Информация, полученная от третьих лиц, состоит в том, что для сборки Windows требуется около одного дня. Что более или менее соответствует попыткам создать вашу любимую операционную систему OSS с нуля.

Создание современной операционной системы - сложная и трудная задача. Единственная причина, по которой это не занимает больше времени, заключается в том, что такие компании, как Microsoft, настроили среды сборки, чтобы помочь автоматизировать интеграционные тесты. Таким образом, они могут создать систему с меньшими ручными усилиями, чем это требуется в большинстве сборок OSS.

Если вы хотите получить представление о том, что нужно для создания операционной системы, могу я порекомендовать бесплатную электронную книгу: Linux с нуля

Для более автоматизированной сборки попробуйте Gentoo . Оба варианта должны дать вам лучшее представление о процессе сборки операционной системы.

3 голосов
/ 12 декабря 2014

Алесь Холечек , вице-президент по разработке в команде Windows сказал , что для сборки Windows 10 требуется около 16 часов И что она создается автоматически каждый день ночью.

Конечно, он построен не на одной машине, а на некоторой сборочной ферме.

3 голосов
/ 22 октября 2008

Что ж, попробуйте сами: возьмите дистрибутив Gentoo (или другой Linux) или попробуйте проект Singularity от Microsoft Research. Другой интересной альтернативой является проект ReactOS. Одна только сборка ядра (в зависимости от компьютера) занимает около 15 минут, которые вы ждали своей программы. Компиляция всей системы занимает значительно дольше!

2 голосов
/ 22 октября 2008

Сколько времени это займет, будет зависеть от настроек сборки, я действительно сомневаюсь, что инженерам Vista понадобится день для сборки кода, даже если это займет день на одной машине.

Я работаю над проектом такого же масштаба, и до недавних сборок на общем многопроцессорном сервере Sun могло потребоваться до 12 часов. Поскольку мы перешли на ферму сборки на основе Linux, чистая сборка может произойти менее чем за час и перестроится за несколько минут.

Было бы интересно узнать, какие настройки используют ребята из Vista, сборочные фермы на базе Linux кажутся маловероятными ... может быть, тогда сборочные фермы на базе Windows:)

2 голосов
/ 22 октября 2008

Я помню, что Vista, взял где-то вдоль линий больше, чем в день, чтобы построить (не могу найти ссылку сейчас, хотя, Argh). Она где-то в районе 50 миллионов строк кода к нему.

1 голос
/ 27 марта 2017

Ответы, которые говорят, что 12 часов до ночи, почти наверняка верны.

Давным-давно, когда я был в Microsoft, и каждый раз, когда я слышал это с тех пор, они строят «каждую ночь». (Я имел обыкновение загружать ежедневные сборки NT довольно регулярно. IIRC они делали «проверенную сборку» еженедельно или что-то подобное.)

Эти числа в конце версии являются (или, по крайней мере, WERE) следующими ежедневными приращениями сборки:

Мои окна 8.1:
C: \ WINDOWS \ system32> ver Microsoft Windows [Версия 6.3. 9600 ]

Деление 9600 на 365 дает около 26 лет ежедневных сборок, или примерно с 2013 года, когда вышла 8.1 / 2012-R2, примерно до 1987 года начинается разработка под NT с Windows NT 3.1, выпущенной в 1993 году.

1 голос
/ 22 октября 2008

Я не знаю, сколько времени уходит на компиляцию XP, но 10/15 минут совсем не так много. Наш проект, включающий ядро ​​Linux в качестве одного из компонентов (не самый большой), занял около часа для компиляции. Мы улучшили это, используя ccache , и теперь это занимает всего несколько минут.

Не совсем ответ на ваш вопрос, но я думаю, что он может быть актуальным / полезным.

...