Et pourquoi? Il existe un processus de bootstrap et compilant le processus de compilateur réel, mais quelle partie consomme le plus de temps? P>
4 Réponses :
Certains processus de construction prennent un certain temps et le temps dépend fortement de la vitesse de votre CPU et de la quantité de temps de processeur peut être consacrée à la construction.
Si vous craignez que cela soit suspendu à À un certain point, exécutez Installez code> avec le drapeau
-v code> pour obtenir plus de sortie descriptive relatif au processus de construction. La commande serait donc quelque chose comme: p>
Ainsi que la taille et le complexe du projet, quel type de disque dur utilise la boîte, etc.
Droite - J'étais assez générale, mais bien sûr, la taille du projet, le nombre de fichiers, que le compilateur / build utility est utilisé, le nombre de dépendances, la vitesse de lecture / écriture, etc. Tous contribuent à la durée requise.
Cela peut prendre un certain temps. Quand j'avais l'habitude de le compiler sur mon ibook G4, il a fallu jusqu'à 7 heures. Même sur un MacBook Pro avec beaucoup de RAM et un processeur rapide, il peut prendre 2-3 heures. P>
Le bâtiment GHC est notoire de prendre pour toujours. J'ai entendu des histoires d'horreur à ce sujet en prenant plus de 8 heures pour une construction de la source. D'après ce que j'ai compris, il est principalement dû au fait que la construction par défaut de GHC tente de faire des quantités massives d'optimisation afin de accélérer ses propres performances d'exécution. Même avec un système partiellement précipitant (ce qui est ce que je crois que Macports fournit), ce processus peut toujours prendre un certain temps à cause de tout le lien. P>
EDIT: Voir ce qui suit http://hackage.hakell.org/trac/ghc/wiki/ Construction / Utilisation # HowtomakeghcbuildQuickly P>
C'est la réponse correcte: GHC qui prend plus de temps à compiler puis tout logiciel que je connais. Je l'ai construit pendant plus de 8 heures sur mon i3.
du point de vue Gentoo: P>
Dans Gentoo, tout est compilé. Ce que nous faisons pour GHC, c'est que US Devs (y compris des devts non officiels comme moi-même) compilez une nouvelle version de GHC à partir d'une version plus ancienne pour créer une version binaire de bootstrapping, puis sur les utilisateurs d'utiliser celui-ci pour compiler une nouvelle version. p>
De la mémoire, la compilation du binaire peut prendre plus de deux fois plus de temps (prend environ 45 minutes pour utiliser le binaire pour compiler une nouvelle version sur mon ordinateur portable). Il y a quelques différences (la documentation est construite et expédiée avec le binaire plutôt que chaque utilisateur le construisant eux-mêmes) mais aucun que je ne puisse voir pour rendre compte pour une telle grande différence. L'eBuild réel utilisé pour construire à la fois les utilisateurs binaires et pour les utilisateurs finaux (activant l'indicateur GHCbootstrap signifie qu'il construit un drapeau binaire, permettant aux utilisateurs d'installer et d'utiliser le binaire précieux plutôt que le bâtiment GHC eux-mêmes): http://code.hakell.org/gentoo /Gentoo-haskell/dev-lang/ghc/ghc-6.12.3.Ebuild P>
En tant que tel, je suppose que c'est le processus initial de bootstress qui prend si longtemps si Macports construit effectivement une initiale binaire de bootstress initiale (surtout si cela le fait de la dernière version de la C-uniquement et de déménager la version à la version vouloir réellement installer). p>
C'est la seule réponse qui tente au moins de répondre à la question.
Vous savez que vous pouvez télécharger un compilateur pré-construit et un ensemble de bibliothèques pour OS X? Hackage.hakell.org/platform/mac.html
Je comprends qu'il y a des problèmes d'interopt entre la versionI et les Macports pré-construites.
Ok, je n'ai pas eu besoin de quelque chose de haskell lié à MacPorts. L'installateur de plate-forme et la cabale sont suffisants.
N'avez-vous pas entendu parler? Les ordinateurs sont si rapides maintenant que la vitesse du compilateur n'a plus d'importance.
@Tim Robinson: bizarre. Pour moi, le système "Haskell Platform" ne fonctionne pas. Voir Stackoverflow.com/questions/3119782/...