Jump to content
php.lv forumi

koda efektivitaate


martins256

Recommended Posts

mani uztrauc tas, lai shii lapa pilniibaa atveertos, buutu vajadziigas 30 h. Taapeec varbuut juus vareetu pateikt, ko te vareetu aizvietot, paarveidot, lai lapa atveertos kaut bishku aatraak.

 

 

 

 

<?php
set_time_limit(99999999999);

$c = -1;
while ($c <= 338):
$c++;

$a=file('KONTI.dat');		   
$b=explode(' ', $a[$c]);

$lietotaajs = $b[0];
$kontanr = substr("$b[1]",0,16);
$bankaskodsnolietotaajanr = substr("$b[1]",0,4);


echo "<BR>" . $lietotaajs . $kontanr;


		$d = -1;
		while ($d <= 100):  // te jaabuut  9998
		$d++;

		$e=file('NAUDA.dat');
		$f=explode(' ', $e[$d]);

		$kontanrnonaudas = $f[0];
		$dariijumasumma = $f[1];
		$dariijumaveidsnonaudas = substr("$f[2]",0,1);





		//echo $kontanrnonaudas . $dariijumasumma . $dariijumaveidsnonaudas;
		echo "<BR>";


					if ($kontanrnonaudas == $kontanr){

					echo "<BR>atrasts :D";


							$i = -1;
							while($i <= 70):


							$i++;




							$g=file('PLUSMIN.dat');   // reku reku reku reku reku reku reku reku
							$h=explode(' ', $g[$i]);

							$bankaskodsnoplusm = $h[0];
							$dariijumaveidsnoplusm = $h[1];
							$atlaidesprocnoplusm = $h[2];
							$maksaparapkalpnoplusm = $h[3];


							echo "<BR>";
							echo $bankaskodsnoplusm . $dariijumaveidsnoplusm . $atlaidesprocnoplusm . $maksaparapkalpnoplusm;
							echo "<BR>";


									echo $dariijumaveidsnoplusm . $dariijumaveidsnonaudas;
									echo "<BR>";
									echo "<BR>";
									echo $bankaskodsnoplusm . $bankaskodsnolietotaajanr;
									echo "<BR>";
									echo "<BR>";
									if (($dariijumaveidsnoplusm == $dariijumaveidsnonaudas) && ($bankaskodsnoplusm == $bankaskodsnolietotaajanr)){

									echo "<BR>" . $lietotaajs;
									##############################
									##sheit jaabuut tai formulai##
									##############################









									}

							endwhile;


					}








		endwhile;

endwhile;
?>

Edited by martins256
Link to comment
Share on other sites

$e=file('NAUDA.dat');

 

tas arī nevajadzīgi izpildās katru reizi... pieļauju, ka tur ir tranzakcijas un aizņem īpaši daudz laika nolasīt lielo failu...

 

 

$accountsArr = file('KONTI.dat');
$accountsCount = count($accountsArr);
$transactionsArr = file('NAUDA.dat');
$transactionsCount = count($transactionsArr);

for ( $aIdx=0; $aIdx<$accountsCount; $aIdx++ )
{
for ( $tIdx=0; $tIdx<$transactionsCount; $tIdx++ )
  {
  .....
  }
}

Edited by Delfins
Link to comment
Share on other sites

ja iekšā ir INT mainīgais, tad pofig

Tewv bremze iestājas pie katras iterācijas (3-pakāpju/līmeņu) faila atvēršanas un nolasīšanas

 

300 * 100 * 70 = 2.100.000 faila atvēršanas, tas nozīmē to, ka HDD un RAM tiks traucēts 2 miljonus reizes.. a varēja tikai 1 reizi ;) secinājumus izdari pats...

Link to comment
Share on other sites

×
×
  • Create New...