Aber weder CPU (AMD 1920X) noch RAM (32 GB) noch Datenträger (M2 SSD) haben irgendwelche Auslastungszeichen.
Das kann man so nicht behaupten:
Das durch echo
erfolgende, oft widerholte Öffnen eines Ausgabepuffers ist eine 'teure' Operation, die insbesondere mit Wartezeiten verknüpft ist.
Also alle Ausgaben sammeln und auf einmal ausgeben:
Erste Zeile:
<?php
ob_start();
Für die Lauzeitmessungen hab ich Dein Skript mal gehörig verkürzt (Nur 4 verschachtelte Schleifen):
Mit ob_start:
real 0m2,174s
user 0m0,395s
sys 0m0,526s
Ohne ob_start:
real 0m4,037s
user 0m0,733s
sys 0m2,188s
Vergleiche insbesondere die Zeiten hinter sys
Warum Du für die Speicherung Google, Microsoft, Cloudflare, Amazon und Alibaba um Hilfe bitten (und ein paar Technologiesprünge abwarten) musst hat Gunnar beschrieben.