Moin!
$v['bar']='/produkte/abverkauf/bar.html';
Performance-Test:
1. Erzeugen einer Daten-Datei mit 4000 Einträgen:
<?php
$txt="<?php\n";
for ($i=0; $i < 4000; $i++) {
$txt .= '$v[\'' . 'quatsch' . $i . '\'] = \'/produkte/abverkauf/quatsch' . $i . '.html\';' . "\n";
}
file_put_contents('daten.php', $txt);
Hat dann 237.786 Bytes (238 KB) und sieht so aus:
<?php
$v['quatsch0'] = '/produkte/abverkauf/quatsch0.html';
…
$v['quatsch3999'] = '/produkte/abverkauf/quatsch3999.html';
Man könnte 12kB sparen indem man pro Zeile zwei Leerzeichen und den Zeilenumbruch weglässt ...
2. Eigentliches Test-Skript:
<?php
define ( 'StartMem', memory_get_usage() );
define ( 'StartTime', microtime(1) );
include 'daten.php';
echo $v['quatsch2000'], "\n";
echo 'Zeit : ', round(1000*(microtime(1) - StartTime)), " ms\n";
echo 'Speicher: ', round((memory_get_usage() - StartMem)/1024), " kB\n";
Liest Diese ein, gibt einen Eintrag aus der Mitte aus.
Ergebnisse:
php test_daten.php
/produkte/abverkauf/quatsch2000.html
Zeit : 9 ms
Speicher: 570 kB
Halte ich für vertretbar.
Jörg Reinholz