Autor |
Nachricht |
Waschbequen
Account gelöscht
Ort: -
|
Verfasst Mo 14.02.2005 18:03
Titel
|
|
|
virus-2k hat geschrieben: | je länger der code umso länger die scriptdauer oder nicht? |
Falsch. Je blöder der Code, desto länger die Scriptdauer. Ich kann dir Sachen schreiben die 3x länger sind als normal, dafür aber x mal schneller laufen.
Edit, Beispiel: folgende Aufgabe: http://codefairway.net/de/solvedholes.aspx?action=rules&hole=14
Die kürzeste Lösung:
Code: | public class Tee
{
public void Off(int a,int z,out int e,out int o)
{
for(o=3De=3D0;z>=3Da&z>99;z--)
for(int =
r=3D0,t=3Dz,s=3Dt;t>0;s+=3Dz=3D=3Dr?s%2>0?o++:e++:t/=3D10)r=3Dr*10+t%10;
}
} |
Die schnellste Lösung:
Code: | public class Tee
{
public void Off(int b,int f,out int e,out int o){
e=3DG(f)[0]-G(b-1)[0];
o=3DG(f)[1]-G(b-1)[1];
}
int[]G(int i){
char[]c=3D(""+i).ToCharArray();
int x=3D0,y=3D0,s=3Dc.Length;
double n;
=09
if(s>=3D3){
c[0]=3D(char)(c[0]-1);
n=3Ddouble.Parse(new string(c));
Array.Reverse(c,0,c.Length/2);
n-=3Ddouble.Parse(new string(c).Substring(0,c.Length/2));
n/=3DMath.Pow(10,s/2);
i=3D(int)Math.Ceiling(n);
x=3Ds%2=3D=3D0=3Fi:i%2=3D=3D0=3Fi/2:i/2+1;
y=3Ds%2!=3D0=3Fi/2:y;
}
for(i=3D0;i<s;){
x+=3DD(i,1);
y+=3DD(i++,0);
}
return new int[]{x,y,};
}
int D(int d,int i){
int x=3Dd=3D=3D3=3F1:0;
if(d>3)x=3D(int)Math.Pow(10,(((d-1)/2)-1));
return x*=3Dd%2=3D=3D0=3F90*i:45;
}
} |
Zuletzt bearbeitet von am Mo 14.02.2005 18:05, insgesamt 1-mal bearbeitet
|
|
|
|
|
graphicsandunity
Dabei seit: 22.11.2004
Ort: Berlin
Alter: 40
Geschlecht:
|
Verfasst Mo 14.02.2005 18:03
Titel
|
|
|
Also so ein Server leiert das Script schon relativ schnell durch, wenn nicht gerade irgendwelche Problme auftreten.
Das was am Ende wirklich lange dauern kann ist das Rendern im Browser.
Und so ein Schleifen-Konstrukt ist ja extra dafür da die Performance zu heben.
Inwiefern ist es dir denn überhaupt wichtig, welche der While-Varianten schneller ist?
|
|
|
|
|
Anzeige
|
|
|
virus-2k
Threadersteller
Dabei seit: 07.12.2004
Ort: Augsburg
Alter: 37
Geschlecht:
|
Verfasst Mi 16.02.2005 10:21
Titel
|
|
|
wollte nur wissen was generell schneller ist....
echo ist schneller als print..
require(_once) ist schneller als include..
wollte halt nur wissen ob eine while oder eine do while schleife schneller ist aber ich probiers selbst ma aus
|
|
|
|
|
graphicsandunity
Dabei seit: 22.11.2004
Ort: Berlin
Alter: 40
Geschlecht:
|
Verfasst Mi 16.02.2005 12:25
Titel
|
|
|
Also ich denke, dass man da keine marginalen Unterschiede haben wird. Auch wenn sicher ist, dass eine schneller geht als die andere.
Du kannst ja die Millisekunden vor dem Beginn der Schleife mal messen und dann, wenn die Schleife beendet wurde.
Die Differenz dürfte ja dann die benötigte Zeit in Millisekunden sein.
Würde mich jatzt auch mal interessieren.
|
|
|
|
|
virus-2k
Threadersteller
Dabei seit: 07.12.2004
Ort: Augsburg
Alter: 37
Geschlecht:
|
Verfasst Mi 16.02.2005 15:59
Titel
|
|
|
Code: |
// Aufgabe
do {
$blub++;
if($blub == 1000) $l = true;
} while($l == true);
|
Durchschnitt: 0.000309538841248 - Runs: 10
Code: |
// Aufgabe
while($l == true) {
$blub++;
if($blub == 1000) $l = true;
}
|
Durchschnitt: 0.000294351577759 - Runs: 10
while schneller als do while.. gut zu wissen...
die runs liefen auf einen externen server mit gleichen bedingungen und beide 10x..
|
|
|
|
|
graphicsandunity
Dabei seit: 22.11.2004
Ort: Berlin
Alter: 40
Geschlecht:
|
Verfasst Mi 16.02.2005 16:20
Titel
|
|
|
LOL
Spitze.
Das ist doch mal den Gag wert gewesen.
|
|
|
|
|
karmacoder
Dabei seit: 15.04.2002
Ort: Fürth
Alter: 42
Geschlecht:
|
Verfasst Mi 16.02.2005 16:38
Titel
|
|
|
ist das jetzt ernst gemeint?
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mi 16.02.2005 16:53
Titel
|
|
|
Ich kack ab....
WO BLEIBT ENDLICH DER SMILIE MIT DEM TRICHTERHUT????
Zuletzt bearbeitet von am Mi 16.02.2005 16:53, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Geschwindigkeit <marquee>
Geschwindigkeit beim Newsteaser
[suche] Tool zum Geschwindigkeit testen
[Flash] unterschiedliche geschwindigkeit zuweisen
Brauche Statistik über Geschwindigkeit Internetzugänge in D
PHP While-Schleife ()
|
|