(Über CPUs „wandernder“ Prozess)
Ich bin mir nicht sicher, ob der Scheduler den PHP-Prozess deswegen öfter einen anderen CPU-Kern zuweist
Ich hab jetzt die Quelle nicht zur Hand, aber das geschieht nicht nur mit dem PHP-Prozess.
Aller paar Sekunden hoppeln lang laufende und die CPU gut beschäftigende Prozesse auf einen anderen Kern, um den Prozessor nicht durch eine starke punktuelle Erwärmung mechanisch zu belasten. Das gilt für alle hier verfügbaren Architekturen. (Intel, AMD64, ARM). Man kann mit Tools wie htop oder xosview dabei zusehen.
Wenn ich Theads will kann ich ja mehrere Skripte mittels php -s $PORT
starten und zwischen diesen via cUrl oder über das Dateisystem kommunizieren - wodurch die CPU garantiert immmer gleichmäßig hoch belastet wird :-)
Im Hinblick dessen, wozu PHP eigentlich gedacht und gemacht ist werde ich das aber „eher nicht weiterverfolgen“, es also dabei belassen, dass die vielen kurz laufenden PHP Prozesse vom Webserver gestartet und vom OS der CPU „aufgedrückt“ werden.
BTW. Das Sortieren der 5,59 Mio Namen/Vornamen/Titel (78 MB als CSV) nach den Telefonbuchregeln hat gestern volle 34 Minuten (auf dem „fetten“ AMD Ryzen 7 2700) bzw. 55 Minuten (auf dem Cortex-A72/Raspberry 4B+) gedauert. Einerseits bin ich vom Raspi noch einmal mehr begeistert, andererseits muss ich wohl einiges zulasten des Speicherverbrauchs optimieren; Da sind auf Grund der Anforderungen der Telefonbuchsortierung und DIN 31638 eine Menge Stringoperationen, die vor jedem eigentlichen Vergleich gemacht werden. Also längst nicht nur 5,59 Mio mal: das ist natürlich eine enorme Verschwendung.
Aber, da die Sortierung selbst offenbar läuft und alle Härtests fehlerfrei überstanden hat sollte das „nur noch Arbeit“ sein.