2008-10-22 8 views
21

Ceci est juste une question d'ordre général - j'étais assis et d'attendre un peu de logiciel pour compiler (nous utilisons IncrediBuild ici, mais peut encore prendre 10/15 minutes) et il m'a fait demander, personne ne sait comment il a fallu longtemps pour compiler Windows XP ou Vista?système d'exploitation compilation

J'ai fait quelques googler mais n'a pas trouvé vraiment des informations utiles

+1

Pourquoi voudriez-vous vous soucier des temps de construction? Les temps de construction plus longs sont [beaucoup plus amusant] (http://xkcd.com/303/). – Branan

Répondre

38

OP se pose sur de Windows:

« il n'y a pas d'autres projets de logiciels comme ça, » dit Lucovsky, « mais la une chose qui est restée constante [au fil des ans] est le temps qu'il faut pour créer [Windows]. Quelle que soit la génération du produit, il faut 12 heures pour compiler et lier le système. " Même avec l'augmentation du traitement chevaux au fil des ans, Windows a grandi pour correspondre, et le développement processus est devenu beaucoup plus sophistiqués, de sorte que Microsoft ne plus l'analyse de code dans le cadre de la construction quotidienne "Les processeurs dans le labo sont constamment attachés pour 12 heures", at-il dit. "Nous avons adapté le processus depuis Windows 2000. Maintenant, nous décomposons l'arbre source [code] en arbres source indépendants, et utilisez un nouvel environnement de construction . C'est un environnement multi-machine qui nous permet de tourner la manivelle plus rapidement. Mais à cause de toute la nouvelle analyse de code, il reste prend 12 heures. »

SOURCE

également voir Mark Lucovsky presentation classique sur le développement de Windows NT/2000.

Je ne travailler à Microsoft, donc je ne sais pas à coup sûr ...

+1

Des liens fantastiques, merci de poster :) – Konrad

+0

Vraiment intéressant ... même si je suis impressionné que ça ne prenne que 12h. – helpermethod

6

informations de troisième main, j'ai est que cela prend environ une journée pour remplir une version de Windows. Ce qui est plus ou moins en ligne avec la tentative de construire votre système d'exploitation OSS préféré à partir de zéro.

La construction d'un système d'exploitation moderne est une tâche complexe et difficile. La seule raison pour laquelle cela ne prend pas plus de temps, c'est parce que des entreprises comme Microsoft ont mis en place des environnements de configuration pour automatiser les tests d'intégration. Ainsi, ils peuvent construire un système avec moins d'effort manuel que ce qui est impliqué dans la plupart des builds OSS.

Si vous avez aimé obtenir une idée de ce qu'il faut pour construire un système d'exploitation, pourrais-je recommande le livre électronique gratuit: Linux from Scratch

Pour une version plus automatisée, essayez Gentoo. Les deux options devraient vous donner une meilleure idée du processus de construction du système d'exploitation.

+1

Je me souviens avoir vu une vidéo où XP a pris environ 12 heures sur leur ferme de construction, donc un jour pour Vista ne me choque pas du tout. Bien sûr, quand ils parlent de construire le système d'exploitation, ils parlent de construire tous les fichiers binaires sur le disque, puis de créer une image disque pour le groupe QA, etc. Gros travail!:) –

3

Eh bien, essayez par vous-même: Prenez une Gentoo (ou tout autre Linux) ou distro essayer le projet Singularity de Microsoft Research. Une autre alternative intéressante est le projet ReactOS. Compiler le noyau seul prend (selon la machine) environ les 15 minutes que vous avez attendu pour votre programme. Compiler l'ensemble du système prend considérablement plus longtemps!

2

Je me souviens avoir entendu que Vista a pris quelque part le long des lignes de plus d'une journée pour construire (ne peut pas trouver une référence maintenant cependant, argh). Il a quelque part dans le voisinage de 50 million lines of code.

2

Pendant combien de temps il faut va vraiment dépendre de la construction mis en place, je doute vraiment que les ingénieurs Vista ont besoin d'un jour pour construire le code même si elle prendrait un jour sur une seule machine.

Je travaille sur un projet d'une ampleur similaire et jusqu'à récemment construit pourrait prendre jusqu'à 12 heures sur un serveur multiprocesseur soleil partagé. Depuis que nous sommes passés à une ferme de génération basée sur Linux, une construction propre peut se produire en moins d'une heure et se reconstruire en quelques minutes.

Il serait intéressant de savoir ce qui a mis en place les gars utilisent Vista, les fermes de construction à base Linux semblent peu probables ... peut-être des fermes de construction basés sur Windows alors :)

1

Je ne sais pas combien de temps prend pour compiler XP, mais 10/15 minutes n'est pas si grand du tout Notre projet qui comprend Li nux kernel comme l'un des composants (pas le plus gros) prenait environ une heure à compiler. Nous avons amélioré cela en utilisant ccache et maintenant cela ne prend que quelques minutes.

Pas exactement la réponse à votre question mais je pense que c'est peut-être pertinent/utile.

1

Ales Holecek, vice-président pour le développement en équipe de Windows said qu'il faut environ 16 heures pour construire de Windows 10. Et qu'il est construit automatiquement tous les jours pendant la nuit.

Ce n'est pas construit en utilisant une seule machine, bien sûr, mais en utilisant une ferme de construction.

1

Les réponses qui disent 12 heures à la nuit sont presque certainement correctes. Il y a longtemps, quand j'étais chez Microsoft et chaque fois que je l'ai entendu depuis, ils construisent «tous les soirs». (J'avais l'habitude de charger assez régulièrement des versions quotidiennes de NT IIRC ils ont fait une "construction vérifiée" hebdomadaire ou tel.)

Ces nombres sur la fin de la version sont (ou au moins ÉTAIENT) ces incréments quotidiens de construction:

Mes fenêtres 8.1:
C: \ WINDOWS \ system32> ver Microsoft Windows [Version 6.3. ]

Division 9600 par 365 donne environ 26 ans par jour builds, ou retourner à partir de 2013 lorsque 8.1/2012-R2 publié, arrive à environ 1987 pour le début du développement sur NT avec Windows NT 3.1 publié en 1993.