Hallo Profis
ich bin gerade dabei mir ein Grundgerüst für ein größeres Projekt zu bauen und nun stellt sich die Frage, ob ich meine Daten als Objekte anlege und in einem Array speicher[siehe Form1] oder einfach als Strings im Array[siehe renderF()].
Ich hab mal ganz einfach getestet was von beiden schneller ist, um dann fest zu stellen, dass zufällig einmal das und einmal das andere schneller ist, kurzum: Ergebnislos.
Wer von euch kennt sich aus, und kann mir sagen was performater ist?
Für die, die nicht wissen was ich meine, hier mein Test-Code:
Ich erstelle hier 10000 sinnlose input-elemente, das ganze 10 mal, auf die 2 beschriebenen Varianten und zähle die Millisekunden.
Wie gesagt, will ich gern wissen welche Variante schneller ist, die OOP-Variante ist vermutlich die elegantere.
Danke, MRspeed
ich bin gerade dabei mir ein Grundgerüst für ein größeres Projekt zu bauen und nun stellt sich die Frage, ob ich meine Daten als Objekte anlege und in einem Array speicher[siehe Form1] oder einfach als Strings im Array[siehe renderF()].
Ich hab mal ganz einfach getestet was von beiden schneller ist, um dann fest zu stellen, dass zufällig einmal das und einmal das andere schneller ist, kurzum: Ergebnislos.
Wer von euch kennt sich aus, und kann mir sagen was performater ist?
Für die, die nicht wissen was ich meine, hier mein Test-Code:
PHP:
$anzahl = 10000;
class Form1{
private $index;
public function Form1($i){
$this->index = $i;
}
public function renderForm(){
$t = '<input type="hidden"';
foreach ($this->index as $k => $v){
$t .= $k.'="'.$v.'"';
}
$t .= " />";
return $t;
}
}
function renderF($i){
$t = '<input type="hidden"';
foreach ($i as $k => $v){
$t .= $k.'="'.$v.'"';
}
$t .= " />";
return $t;
}
function create_rand_arr(){
$arr = array();
for ($i = 0; $i<5;$i++){
#$t=rand(10,99);
$arr[(string)$i.'zzzz']='aaa'.$i.'aaa';
}
return $arr;
}
$time1 = 0;
$time2 = 0;
for ($j=0;$j<10;$j++){
$t1 = microtime();
#echo $t1.'<br>';
$data = array();
for ($i = 0; $i<$anzahl;$i++){
$data[]= new Form1(create_rand_arr());
}
foreach ($data as $d){
echo $d->renderForm();
}
$t2 = microtime();
$time1 += abs($t2-$t1);
echo '<p>Berechnungszeit Objektbasiert: '.abs($t2-$t1).' Sekunden für '.$anzahl.' input-Elemente</p>';
####################
$t3 = microtime();
#echo $t3.'<br>';
$data2 = array();
for ($i = 0; $i<$anzahl;$i++){
$data2[]= renderF(create_rand_arr());
}
foreach ($data2 as $d){
echo $d;
}
$t4 = microtime();
$time2 += abs($t4-$t3);
echo '<p>Berechnungszeit Datenbasiert: '.abs($t4-$t3).'Sekunden für '.$anzahl.' input-Elemente</p>';
}
echo 'summe oo: '.$time1.'<br>';
echo 'summe --: '.$time2;
Wie gesagt, will ich gern wissen welche Variante schneller ist, die OOP-Variante ist vermutlich die elegantere.
Danke, MRspeed