Warum dauert das Kompilieren des Macports-Pakets von GHC so lange?

8

Und warum? Es gibt einen Bootstrap-Prozess und kompiliert den echten Compiler-Prozess, aber welcher Teil verbraucht am meisten Zeit?

    
hampurter 30.06.2010, 20:37
quelle

4 Antworten

9

Aus der Gentoo-Perspektive:

In Gentoo ist alles kompiliert. Was wir für GHC tun, ist, dass wir Entwickler (einschließlich inoffizieller Entwickler wie ich) eine neue Version von GHC von einem älteren kompilieren, um eine binäre Bootstrapping-Version zu erstellen, und diese dann verpacken, damit Benutzer eine neue Version kompilieren können.

Aus dem Speicher kann das Kompilieren der Binärdatei mehr als doppelt so lange dauern (dauert ungefähr 45 Minuten, um die Binärdatei zu verwenden, um eine neue Version auf meinem Laptop zu kompilieren). Es gibt einige Unterschiede (die Dokumentation wird mit dem Binärcode erstellt und ausgeliefert, anstatt dass jeder Benutzer sie selbst erstellt), aber keine, die ich sehen kann, um einen so großen Zeitunterschied zu berücksichtigen. Das eigentliche Ebuild, das sowohl für die Binärdatei als auch für die Endbenutzer verwendet wird, kann hier gefunden werden (das Flag ghcbootstrap bedeutet, dass es eine Binärdatei erstellt, dh die Binärdatei bedeutet, dass Benutzer die vordefinierte Binärdatei installieren und verwenden, anstatt GHC selbst zu erstellen): Ссылка

Ich vermute also, dass es der anfängliche Bootstrapping-Prozess ist, der so lange dauert, wenn Macports tatsächlich eine Bootstrapping-Binärdatei erstellt (besonders, wenn dies von der letzten C-only-Version und dem Bootstrapping auf die Version von Ihnen geschieht) möchte eigentlich installieren).

    
ivanm 01.07.2010 06:58
quelle
4

Der Aufbau von GHC ist berüchtigt dafür, dass es ewig dauert. Ich habe Horrorgeschichten darüber gehört, die mehr als 8 Stunden in Anspruch nehmen, um von einem Quellcode zu kommen. Soweit ich weiß, ist dies hauptsächlich auf die Tatsache zurückzuführen, dass der Standard-Build von GHC versucht, große Mengen an Optimierung vorzunehmen, um die eigene Laufzeitleistung zu beschleunigen. Selbst mit einem teilweise vorkompilierten System (was Macports meiner Meinung nach bietet) kann dieser Prozess wegen der vielen Links immer noch etwas dauern.

EDIT: Siehe folgendes Ссылка

    
johngunderman 30.06.2010 23:09
quelle
3

Es kann eine Weile dauern. Als ich es auf meinem iBook G4 kompilierte, dauerte es bis zu 7 Stunden. Selbst auf einem MacBook Pro mit viel RAM und einem schnellen Prozessor kann es 2-3 Stunden dauern.

    
mipadi 30.06.2010 21:31
quelle
2

Einige Build-Prozesse brauchen eine Weile, und die Zeit hängt stark von der Geschwindigkeit Ihrer CPU und der Prozessorzeit für den Build ab.

Wenn Sie befürchten, dass es an einem bestimmten Punkt hängen bleibt, führen Sie install mit dem Flag -v aus, um eine aussagekräftigere Ausgabe für den Build-Prozess zu erhalten. Der Befehl würde also etwa lauten:

%Vor%     
nearlymonolith 30.06.2010 21:25
quelle

Tags und Links