Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: VCL (C++ Builder) ::  RAD Studio 10.1 Berlin Update 2, bcc32c beschleunigen?     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
DocShoe
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.04.2008
Beiträge: 2633
Beitrag DocShoe Mitglied 18:37:17 02.01.2017   Titel:   RAD Studio 10.1 Berlin Update 2, bcc32c beschleunigen?            Zitieren

Hallo zusammen,

der neue bcc32c ist deutlich langsamer als der klassische bcc32, und jetzt versuche ich die Übersetzungszeit zu verkürzen. Dazu gibt es grob zwei Möglichkeiten:

1) die Verwendung von Vorkompilierten Header Dateien
2) parallele Übersetzung

Ich habe ein Projekt mit ca. 150 Dateien, das ich zum Testen benutze. Egal welche Einstellungen ich anwende, die Übersetzungszeit für einen Build All liegt immer bei ca. 3:30 min, +/- 5 Sekunden, bei allen Kombinationen aus den unten aufgeführten Konfigurationen.

Zu 1)
Iwie funktioniert das nicht richtig, bzw. bringt nichts. Ich habe eine PCH.h Datei nach dieser Vorgabe erzeugt und zum Projekt hinzugefügt. In dieser Header Datei habe ich die häufig benutzten include Dateien inkludiert und mit #pragma hdrstop abgeschlossen. Der Compiler erzeugt auch eine etwa 4MB große PCH.pch Datei im Ausgabeverzeichnis. Der bcc32c Aufruf beeinhaltet die option --include-pch PCH.pch und die PCH Datei scheint also benutzt zu werden, aber an der Übersetzungszeit ändert sich nix.

Zu 2)
Bringt auch nichts. Ich habe das auf zwei unterschiedliche Arten eingestellt und getestet, aber keine der beiden Methoden bringt einen Geschwindigkeitsgewinn. Es werden zwar mehrere bcc32c Prozesse gestartet, aber nur einer davon nutzt einen Kern aus (~25% Last), die übrigen sind alle idle.

2.1) In den Projekteigenschaften unter "Projekteigenschaften" den Punkt "C++ Compiler in separatem Prozess ausführen" und die Anzahl der Prozesse auf 4 erhöht (Anzahl Cores meiner CPU).
2.2) In den Projekteigenschaften unter "C++ Compiler - Erweitert" unter "Weitere Optionen für die Übergabe an den Compiler" die Option "--jobs=0" eingetragen. Auch "--jobs=4" bringt nichts.

Hat jemand eine Idee, warum nichts davon die Übersetzungszeit verkürzt? Oder noch besser, wie man dem bcc32c Beine macht?

_________________
Die fünf häufigsten Anzeichen für Faulheit:
1.


Zuletzt bearbeitet von DocShoe am 19:14:37 02.01.2017, insgesamt 1-mal bearbeitet
DocShoe
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.04.2008
Beiträge: 2633
Beitrag DocShoe Mitglied 12:08:50 10.01.2017   Titel:              Zitieren

Mit Bordmitteln scheint das wirklich nicht zu gehen, die vorkompilierten Header und paralleles Übersetzen sind für den bcc32c wohl noch buggy,

Es gibt allerdings TwineCompile, das sich als Wrapper zwischen die IDE und den bcc32c klinkt. Das erzeugt und benutzt automatisch vorkompilierte Header und benutzt mehrere Prozesse zum Übersetzen. Damit habe ich das Übersetzen um bis zu Faktor 10 (!!) beschleunigen können.

_________________
Die fünf häufigsten Anzeichen für Faulheit:
1.
Burkhi
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.11.2003
Beiträge: 693
Beitrag Burkhi Mitglied 01:42:24 11.01.2017   Titel:              Zitieren

DocShoe schrieb:
...

Es gibt allerdings TwineCompile, das sich als Wrapper zwischen die IDE und den bcc32c klinkt. Das erzeugt und benutzt automatisch vorkompilierte Header und benutzt mehrere Prozesse zum Übersetzen. Damit habe ich das Übersetzen um bis zu Faktor 10 (!!) beschleunigen können.


Den verwende ich bei mir auch schon seit einer ganzen Weile, allerdings war der Grund bei mir, dass regelmäßig beim Start des Compilierens die Meldung "Not enough SAVEMEM" kam. Und jedesmal musste dann die IDE neu gestartet werden. RAM- Speicher hat mein System genug (12GB RAM).

_________________
Objekt- Orientierte Automatisierungs- Software- Entwicklung
Rad Studio: 10.2 Tokyo, 10.1 Berlin, 10 Seattle, XE8, XE7, XE6, XE5, XE2, XE, 2010, 2009
C++ Builder: XE4, XE3, 2006, 5 Prof


Zuletzt bearbeitet von Burkhi am 01:43:16 11.01.2017, insgesamt 1-mal bearbeitet
C++ Forum :: VCL (C++ Builder) ::  RAD Studio 10.1 Berlin Update 2, bcc32c beschleunigen?   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.