Wie hier beschrieben, lege ich den FPC-Compiler lahm.
Und wen ich mit "htop" gucke, compiliert er gemütlich mit einer CPU.
Kann der fpc-Compiler auch mehrere CPU-Kerne verwenden ?
Bei vielen C-Paketen, kann man einfach "make .j" oder "ninja -j"" eingeben, und dann geht die Post ab.
Oder funktioniert dies nur, weil "make" mehrere Instanzen des Compiler startet ?
Compilieren mit mehreren CPUs
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Compilieren mit mehreren CPUs
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Compilieren mit mehreren CPUs
Es ist make das mehrere Instanzen startet. Vor allen muss make dabei eventuelle Abhängigkeiten auflösen (können).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Compilieren mit mehreren CPUs
Dies habe ich fast vermutet.Es ist make das mehrere Instanzen startet. Vor allen muss make dabei eventuelle Abhängigkeiten auflösen (können).

Ich habe gerade versucht make im Lazarus-Ordner zu probieren. Mit "make" gemütlich eine CPU. Mit "make -j20" wird mit Fehler abgebrochen.
So wie es scheint, kann man mit FPC nur eine CPU nutzen.
Aber da der Compiler im Alttag viel schneller als der von C ist, fällt dies nicht so ins Gewicht.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Compilieren mit mehreren CPUs
IMHO kann man / sollte man nie mehr CPU's angeben als man hat. einfach mal keine Zahl angeben, dann wird soviel wie möglich verwendet. Quelle: https://unix.stackexchange.com/question ... 20possible.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Compilieren mit mehreren CPUs
Das mit keiner Zahl kann auch in die Hose gehen. Compiliere mal den Linux-Kernel so, es wird dir das ganze System blockieren, so das sich nicht mal mehr der Mauszeiger bewegt. Gebe ich -j100 ein, dann läuft das System noch einigermassen.IMHO kann man / sollte man nie mehr CPU's angeben als man hat. einfach mal keine Zahl angeben, dann wird soviel wie möglich verwendet.
So sind die Erfahrungen verschieden, so wie es auch in deinem Link steht.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 954
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: Compilieren mit mehreren CPUs
Kurze Antwort: Nein.Mathias hat geschrieben: Di 11. Jul 2023, 13:48 Kann der fpc-Compiler auch mehrere CPU-Kerne verwenden ?
Lange Antwort: Da Units im Gegensatz zu zum Beispiel C Dateien nicht unabhängig voneinander sind, ist es nicht trivial ein funktionierende Implementierung zu erstellen. Noch dazu würde es Stand jetzt bedeuten, dass unter Linux gegen die C Bibliothek gelinkt werden muss, was wir für den Compiler selbst vermeiden möchten, da er hierdurch portabler ist.
FPC Compiler Entwickler