Gibt es eine Möglichkeit, die C ++ - Kompilierungszeiten in Solaris Sun Studio 12 zu beschleunigen?
-
13-09-2020 - |
Frage
Gibt es eine Möglichkeit, die Compiler-Optionen zu optimieren, um die Kompilierungszeiten zu beschleunigen, da ich meinen C ++ - Code auf einer sehr Server-Box (insgesamt 32 oder 64 Kerne) kompiliere?Z.B.compiler anweisen, unabhängig zu kompilieren.cpp-Dateien mit mehreren Threads.
Lösung
Sun Studio enthält einen parallelen Bauunterstützungsunterstützung in der mitgelieferten dmake
-Version von Make.
Sehen Sie das DMAKE-Handbuch für Details.
Andere Tipps
Dies hängt davon ab, welche Toolchain Sie verwenden.
Wenn Sie GNU Make verwenden, fügen Sie hinzu -j 32
zu Ihrem make-Aufruf, um Make anzuweisen, 32 Jobs (zum Beispiel) parallel zu starten.Stellen Sie nur sicher, dass Sie den Arbeitsspeicher nicht erschöpfen und Ihre Auslagerungsdatei dadurch verprügeln.
Verwenden Sie so etwas wie Boost Marmelade, was diese Art von Multithreading für Sie - und von meiner Erfahrung viel effizienter als mehrfacher machen.
Suns C ++ - Compiler hat auch eine -xjobs
option, die den Compiler dazu bringt, mehrere Threads intern zu verzweigen.Damit dies effizient ist, müssten Sie wahrscheinlich alle CC-Dateien an einen einzigen Aufruf von CC übergeben.