Hallo Felix,
Probiere doch einmal das hier und beobachte im Task-Manager, was passiert:
(Schleife mit file_put_contents) Das sollte theoretisch auf einem Kern 100% Last erzeugen.
Aber auch nur theoretisch. Praktisch kommt File-I/O und Betriebssystemoverhead hinzu, womit die 100% Last auf einem Kern zum Teufel sind.
100% Last auf einem Kern bekommst Du zum Beispiel mit
<?php
$t = microtime(true);
$a = 3;
for ($j=0; $j<200; $j++) {
for ($i=0; $i<1000000; $i++) {
$a = 1 - $a;
}
echo ".";
}
echo "\nRuntime: " . (microtime(true) - $t)*1000 . "ms\n";
Der ECHO alle 100000 Durchläufe hat den Sinn, dass man das Script mit Strg+C abbrechen kann. Andernfalls müsste man den PHP Prozess im Taskmanager töten.
Dieses Script läuft bei mir unter PHP 8.1 mit aktiviertem JIT Compiler deutlich fixer als unter 8.0 (wo der JIT ebenfalls aktiv ist). Vielleicht hilft das schon. Der JIT ist Teil der opcache-Erweiterung, das ist eine zend-Extension, die in der php.ini per Default deaktiviert ist.
Rolf
sumpsi - posui - obstruxi