The Computer Language
24.04 Benchmarks Game

simple PHP #2 program

source code

<?php
/* The Computer Language Benchmarks Game
   https://salsa.debian.org/benchmarksgame-team/benchmarksgame/
   
   contributed by Thomas GODART (based on Greg Buchholz's C program) 
*/

$w = 0; $h = 0; $bit_num = 0;
$byte_acc = 0;
$i = 0; $iter = 50;
$x = 0; $y = 0; $limit2 = 4;
$Zr = 0; $Zi = 0; $Cr = 0; $Ci = 0; $Tr = 0; $Ti = 0;

$h = ($argc == 2) ? $argv[1] : 600;
$w = $h;

printf ("P4\n%d %d\n", $w, $h);

for ($y = 0 ; $y < $h ; ++$y)
{
   for ($x = 0 ; $x < $w ; ++$x)
   {
      $Zr = 0; $Zi = 0; $Tr = 0; $Ti = 0.0;

      $Cr = (2.0 * $x / $w - 1.5); $Ci = (2.0 * $y / $h - 1.0);

      for ($i = 0 ; $i < $iter and ($Tr + $Ti <= $limit2) ; ++$i)
      {
         $Zi = 2.0 * $Zr * $Zi + $Ci;
         $Zr = $Tr - $Ti + $Cr;
         $Tr = $Zr * $Zr;
         $Ti = $Zi * $Zi;
      }

      $byte_acc = $byte_acc << 1;
      if ($Tr + $Ti <= $limit2) $byte_acc = $byte_acc | 1;

      ++$bit_num;

      if ($bit_num == 8)
      {
         echo chr ($byte_acc);
         $byte_acc = 0;
         $bit_num = 0;
      }
      else if ($x == $w - 1)
      {
         $byte_acc = $byte_acc << (8 - $w % 8);
         echo chr ($byte_acc);
         $byte_acc = 0;
         $bit_num = 0;
      }
   }
}
    

notes, command-line, and program output

NOTES:
64-bit Ubuntu quad core
PHP 8.3.3 (cli)
(built: Mar  3 2024 08:47:21) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.3,
with Zend OPcache v8.3.3,
Copyright (c) Zend Technologies


 Sat, 09 Mar 2024 00:27:17 GMT

COMMAND LINE:
 /opt/src/php-8.3.3/bin/php -dzend_extension=/opt/src/php-8.3.3/lib/php/extensions/no-debug-non-zts-20230831/opcache.so -dopcache.enable_cli=1 -dopcache.jit_buffer_size=64M -n  simple.php-2.php 16000

(BINARY) PROGRAM OUTPUT NOT SHOWN