Mailinglisten-Archive |
Hi Arnold und Andre, da hilft auch kein echo oder exit ... :-(( Hier mal die Ausgaben vom Prompt und danach etwas Code, damit die Glaskugel wieder auf Touren kommt: \extra\work\rename\comp>php -q work.php START: 10.09.2002 - 22:41:30 A: 115 files - 45,231 ms - 22:41:30 B: 112 files - 38,178 ms - 22:41:30 C: 6 files - copy A to B 0 files - copy B to A 112 files - identisch 118 files - 4,001 ms - 22:41:30 \extra\work\rename\comp>php -q work.php START: 10.09.2002 - 22:43:58 A: 782 files - 345,272 ms - 22:43:58 B: 782 files - 367,623 ms - 22:43:59 C: 0 files - copy A to B 0 files - copy B to A 782 files - identisch 782 files - 185,714 ms - 22:43:59 \extra\work\rename\comp>php -q work.php START: 10.09.2002 - 22:45:31 A: 1.314 files - 754,123 ms - 22:45:31 B: 1.314 files - 538,573 ms - 22:45:32 C: 0 files - copy A to B 0 files - copy B to A 1.314 files - identisch 1.314 files - 1.382,385 ms - 22:45:33 \extra\work\rename\comp>php -q work.php START: 10.09.2002 - 22:46:57 A: 11.199 files - 2.801,297 ms - 22:46:59 B: 11.199 files - 2.931,949 ms - 22:47:02 C: 0 files - copy A to B 0 files - copy B to A 11.199 files - identisch 11.199 files - 220.858,485 ms - 22:50:43 <-- [1] \extra\work\rename\comp> <------------------------- [2] von [1] nach [2] vergingen ueber drei Minuten - warum ... Bei den anderen Versuchen beendete sich das Script sofort. Das muss mit der Speicherverwaltung zu tun haben, dass PHP noch so lange rumwerkelt. Denn Code kommt da keiner mehr, ausser exit; - wie empfohlen ... ;-) Tja, und dann eben die Ausfuehrungszeit, wenn es mehr Array-Elemente werden: 118 files - 4,001 ms - 22:41:30 782 files - 185,714 ms - 22:43:59 1.314 files - 1.382,385 ms - 22:45:33 11.199 files - 220.858,485 ms - 22:50:43 Das sieht nach einer geometrischen Reihe aus, nur warum ... Die Verarbeitung ist streng linear. Eine foreach-Schleife mit ein paar Befehlen, keine internen Schleifen, nix (???). <code> flush(); $t1 = get_time(); foreach($FA as $kaa => $vaa) {$FS[$kaa] = array($vaa, 0); } unset($FA); foreach($FB as $kaa => $vaa) {$issda = (isset($FS[$kaa])) ? $vaa : 0; $FS[$kaa] = array($issda, $vaa); } unset($FB); $iX = 0; $cA2B = 0; $cB2A = 0; $nocp = 0; foreach($FS as $kaa => $vaa) {$cA2B += ($vaa[0] > $vaa[1]) ? 1 : 0; $cB2A += ($vaa[0] < $vaa[1]) ? 1 : 0; $nocp += ($vaa[0] == $vaa[1]) ? 1 : 0; $iX++; } unset($FS); $t1 = get_time() - $t1; echo "C: vergleichen\n"; echo sprintf("% 15s", number_format($cA2B,0,",",".")). " files - copy A to B\n"; echo sprintf("% 15s", number_format($cB2A,0,",",".")). " files - copy B to A\n"; echo sprintf("% 15s", number_format($nocp,0,",",".")). " files - identisch\n"; echo sprintf("% 15s", number_format($iX,0,",",".")). " files - ". sprintf("% 15s", number_format($t1,3,",",".")). " ms - ".date("H:i:s", time())."\n"; exit; ?> </code> > > Es gibt in beiden Sprachen Dinge, die es in der anderen > > gar nicht, oder nur per Workaround gibt, z.B. Hash-Tables > > kennt Mr.Gates nur vom "hoeren-sagen" ... ;-) > ja, nur dass php wesentlich schneller ist als vb... <grmpf> das kann ich so jetzt nicht mehr unterschreiben, leider. VB6 ist bei der gleichen Aufgabe ca. 30 mal schneller ... m. b. G. Norbert _____________________ normal: 02292-681769 Notruf: 0177-2363368 --------------------- e.o.m.
php::bar PHP Wiki - Listenarchive