e23fibTiming.php PHP redir stdout, achtung läuft nur in CLI!!!
e23fibTiming.php
e23fibTiming.php
fun |
cnt |
sum |
ticks |
utime |
stime |
ti/cnt ns |
fXpld0 |
1000000 |
45888890 |
0.10 |
0.10 |
0.00 |
10000 |
fXpldArr |
1000000 |
7000000 |
0.22 |
0.22 |
0.00 |
22000 |
fXpld |
1000000 |
7000000 |
0.41 |
0.41 |
0.00 |
41000 |
fXpldPreg |
1000000 |
7000000 |
0.57 |
0.57 |
0.00 |
57000 |
fXpldFor |
1000000 |
7000000 |
0.86 |
0.86 |
0.00 |
86000 |
fXpldForSpn |
1000000 |
7000000 |
0.87 |
0.87 |
0.00 |
87000 |
fXpld0 |
1000000 |
45888890 |
0.10 |
0.10 |
0.00 |
10000 |
fXpldArr |
1000000 |
7000000 |
0.22 |
0.22 |
0.00 |
22000 |
fXpld |
1000000 |
7000000 |
0.42 |
0.42 |
0.00 |
42000 |
fXpldPreg |
1000000 |
7000000 |
0.58 |
0.58 |
0.00 |
58000 |
fXpldFor |
1000000 |
7000000 |
0.85 |
0.85 |
0.00 |
85000 |
fXpldForSpn |
1000000 |
7000000 |
0.87 |
0.87 |
0.00 |
87000 |
fXpld0 |
1000000 |
45888890 |
0.09 |
0.09 |
0.00 |
9000 |
fXpldArr |
1000000 |
7000000 |
0.23 |
0.22 |
0.00 |
23000 |
fXpld |
1000000 |
7000000 |
0.42 |
0.43 |
0.00 |
42000 |
fXpldPreg |
1000000 |
7000000 |
0.58 |
0.57 |
0.00 |
58000 |
fXpldFor |
1000000 |
7000000 |
0.86 |
0.87 |
0.00 |
86000 |
fXpldForSpn |
1000000 |
7000000 |
0.87 |
0.87 |
0.00 |
87000 |
End e23fibTiming.php
args
e23fibTiming.php
/home/ch45859/web/wlkl.ch/public_html/inf/php/e23fibTiming.php
*** code does not have a span berfore first <br>***<html>
<h2><?php echo basename(__file__); ?> PHP redir stdout, achtung läuft nur in CLI!!!</h3>
<?php
require_once('env.php');
outBegin();
$cEnd = 1e6;
function fFor() {
global $cEnd, $cnt, $sum;
for ($i=0; $i < $cEnd; $i++) {
$cnt++;
$sum += $i;
}
}
function iFun($j) {
global $cnt, $sum;
$cnt++;
$sum += $j;
}
function fFunction() {
global $cEnd;
for ($i=0; $i < $cEnd; $i++)
iFun($i);
}
function fVarFun() {
global $cEnd;
$ifu = 'iFun';
for ($i=0; $i < $cEnd; $i++)
$ifu($i);
}
function iIt() {
global $cEnd;
for ($i=0; $i < $cEnd; $i++)
yield $i;
}
function fIterator() {
global $cnt, $sum;
foreach (iIt() as $i) {
$cnt++;
$sum += $i;
}
}
function iFib() {
global $cEnd;
for ($i=0; $i < $cEnd; $i++)
Fiber::suspend($i);
}
function fFiber() {
global $cnt, $sum;
$fi = new Fiber('iFib');
for($i = $fi->start(); $i !== null; $i = $fi->resume()) {
$cnt++;
$sum += $i;
}
}
class cObj {
public $null, $eins, $zwei, $drei, $vier, $fuenf, $sechs;
public function __construct($n, $e, $z, $d, $v, $f, $s) {
$this->null = $n;
$this->eins = $e;
$this->zwei = $z;
$this->drei = $d;
$this->vier = $v;
$this->fuenf = $f;
$this->sechs = $s;
}
}
function fArrNN() {
global $cEnd, $cnt;
$cnt = $cEnd/10;
$a = [];
for ($i=0; $i < $cnt; $i++)
$a[] = $i;
}
function fArrI() {
global $cEnd, $cnt;
$cnt = $cEnd/10;
$a = [];
for ($i=0; $i < $cnt; $i++)
$a[] = ["null$i", "eins$i", "zwei$i", "drei$i", "vier$i", "fuenf$i", "sechs$i"];
}
function fArrS() {
global $cEnd, $cnt;
$cnt = $cEnd/10;
$a = [];
for ($i=0; $i < $cnt; $i++)
$a[] = ["null" => "null$i", "eins" => "eins$i", "zwei" => "zwei$i", "drei" => "drei$i", "vier" => "vier$i", "fuenf" => "fuenf$i", "sechs" => "sechs$i"];
}
function fArrA() {
global $cEnd, $cnt;
$cnt = $cEnd/10;
$a = [];
for ($i=0; $i < $cnt; $i++) {
$e = [];
$e["null"] = "null$i";
$e["eins"] = "eins$i";
$e["zwei"] = "zwei$i";
$e["drei"] = "drei$i";
$e["vier"] = "vier$i";
$e["fuenf"] = "fuenf$i";
$e["sechs"] = "sechs$i";
$a[] = $e;
}
}
function fObj() {
global $cEnd, $cnt;
$cnt = $cEnd/10;
$a = [];
for ($i=0; $i < $cnt; $i++)
$a[] = new cObj("null$i", "eins$i", "zwei$i", "drei$i", "vier$i", "fuenf$i", "sechs$i");
}
function fObjA() {
global $cEnd, $cnt;
$cnt = $cEnd/10;
$a = [];
for ($i=0; $i < $cnt; $i++) {
$e = new stdClass();
$e->null = "null$i";
$e->eins = "eins$i";
$e->zwei = "zwei$i";
$e->drei = "drei$i";
$e->vier= "vier$i";
$e->fuenf = "fuenf$i";
$e->sechs = "sechs$i";
$a[] = $e;
}
}
function fXpld0() {
global $cEnd, $cnt, $sum;
for ($i=0; $i < $cEnd; $i++) {
$s = "ein$i zwei drei vier fünf sechs sieben";
$cnt++;
$sum += strlen($s);
}
}
function fXpldArr() {
global $cEnd, $cnt, $sum;
for ($i=0; $i < $cEnd; $i++) {
$s = ["ein$i", 'zwei', 'drei', 'vier', 'fünf', 'sechs', 'sieben'];
$cnt++;
foreach ($s as $e)
$sum += 1;
}
}
function fXpld() {
global $cEnd, $cnt, $sum;
for ($i=0; $i < $cEnd; $i++) {
$s = "ein$i zwei drei vier fünf sechs sieben";
$cnt++;
foreach (explode(' ', $s) as $t) {
if (! $t)
continue;
$sum += 1;
}
}
}
function fXpldPreg() {
global $cEnd, $cnt, $sum;
for ($i=0; $i < $cEnd; $i++) {
$s = "ein$i zwei drei vier fünf sechs sieben";
$cnt++;
foreach (preg_split('/\s+/', $s, flags: PREG_SPLIT_NO_EMPTY) as $t) {
$sum += 1;
}
}
}
function fXpldFor() {
global $cEnd, $cnt, $sum;
for ($i=0; $i < $cEnd; $i++) {
$s = "ein$i zwei drei vier fünf sechs sieben";
$cnt++;
for ($ky=0; $ky !== false and (($k = substr($s, $kx=$ky+1, (false === $ky=strpos($s, ' ', $kx)) ? null: $ky-$kx)) or true);) {
if (! $k)
continue;
$sum += 1;
}
}
}
function fXpldForSpn() {
global $cEnd, $cnt, $sum;
for ($i=0; $i < $cEnd; $i++) {
$s = "ein$i zwei drei vier fünf sechs sieben";
$cnt++;
for ($ky=0; $ky !== false and $k = substr($s, $kx=$ky+strspn($s, ' ', $ky), (false === $ky=strpos($s, ' ', $kx)) ? null: $ky-$kx);) {
$sum += 1;
}
}
}
outTb();
outTCF('l', 'r');
outTRH('fun', 'cnt', 'sum', 'ticks', 'utime', 'stime', 'ti/cnt ns');
#foreach(['fFor', 'fFunction', 'fVarFun', 'fIterator', 'fFiber', 'fArrNN', 'fArrI', 'fArrS', 'fArrA', 'fObj', 'fObjA', 'fArrI'] as $do){
for ($l=0; $l <3; $l++)
foreach(['fXpld0', 'fXpldArr', 'fXpld', 'fXpldPreg', 'fXpldFor', 'fXpldForSpn'] as $do) {
$cnt = $sum = 0;
$tB = posix_times();
$do();
$tA = posix_times();
outTRD($do, $cnt, $sum
, sprintf('%5.2f', ($ti=$tA['ticks'] - $tB['ticks'])/100), sprintf('%5.2f', ($tu=$tA['utime'] - $tB['utime'])/100)
, sprintf('%5.2f', ($tA['stime'] - $tB['stime'])/100), $ti*1e9/$cnt);
}
outEnd(__file__);
?>