Da, in_array je problematican ... izgleda da trci kroz niz i proverava redom vrednosti, blah, a kad niz naraste i to ispitivanje uleti u petlju ... hehe, dzaba.
Igorovo resenje radi lepo, guta taman toliko memorije ... evo malih kozmetickih izmena
PHP kôd:
<?php
set_time_limit(300);
ini_set ('memory_limit', 300000000);
$check = array ();
$output = "";
$nl = "\r\n";
$inserted = 0;
while ($inserted < 2000000) {
$s = substr(md5(microtime().rand(1,1000)),5,8);
if (!isset ($check[$s])) {
$check[$s] = true;
$output .= "$s$nl";
$inserted++;
}
}
$f = fopen ('bluesman.txt', 'w');
fwrite ($f, $output);
fclose ($f);
?>
done
Ostaje samo jos jedna primedba - md5 daje u izlazu heksadecimalne cifre, a ne alfanumerike.