Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Performanceoptimierung von verknüpften if-Abfragen Kategorie: Programmierung Basic (von Jo - 24.05.2011 6:43)
Als Antwort auf Performanceoptimierung von verknüpften if-Abfragen von Jo - 31.01.2011 12:56

> > > > Hallo,
> > > >
> > > > Peter ich hab zwar dei Buch gelesen aber eine Frage hab ich da noch:
> > > >
> > > > Eine If Schleifen Konstruktion
> > > >
> > > > If a=1 And b=1 Then   ' sollte schneller sein
> > > >
> > > > If a=1 Then                ' als die Verschachtelung
> > > >    If b=1 Then
> > > >
> > > > Frage wird vom Interpreter die eine IF Schleifenpr├╝fung abgebrochen wenn der erste nicht
> > zutreffende
> > > > Vergleich gefunden ist oder wird die Komplette Abfrage durchlaufen?
> > > >
> > > >
> > > > Gutes Buch ├╝brigens, Gl├╝ckwunsch!
> > >
> > > Hallo Michi,
> > >
> > > ich wei├č, ich bin nicht Peter.
> > > Habe aber meine Messungen um dein Beispiel erweitert.
> > > w steht f├╝r Word
> > > offizielle Version!
> > > Messprog von ErnstH
> > >
> > >         '
> > >         ' w1=1
> > >         ' w2=1
> > >         'If w1=1 And w2=1 Then     ' 628 Takte
> > >         'End If
> > >
> > >         ' w1=0
> > >         ' w2=1
> > >         'If w1=1 And w2=1 Then     ' 644 Takte
> > >         'End If
> > >         '
> > >         ' w1=1
> > >         ' w2=0
> > >         'If w1=1 And w2=1 Then     ' 644 Takte
> > >         'End If
> > >         '
> > >         ' w1=0
> > >         ' w2=0
> > >         'If w1=1 And w2=1 Then     ' 644 Takte
> > >         'End If
> > >         '
> > >         ' w1=0
> > >         ' w2=0
> > >         'If w1=1 Then           '323 Takte
> > >         '  If w2=1 Then
> > >         '  End If
> > >         'End If
> > >         '
> > >         ' w1=1
> > >         ' w2=0
> > >         'If w1=1 Then           '630 Takte
> > >         '  If w2=1 Then
> > >         '  End If
> > >         'End If
> > >         '
> > >         ' w1=1
> > >         ' w2=1
> > >         'If w1=1 Then           '630 Takte
> > >         '  If w2=1 Then
> > >         '  End If
> > >         'End If
> > >         '
> > > Viel Spass noch...besonders heut' abend.
> > > Manfred
> >
> > Hallo Peter,
> > k├Ânnen zuk├╝nftig die logischen Verkn├╝pfungen effektiver vom Interpreter realisiert werden
> > (also das erste Nichtzutreffen bricht die weiteren Bewertungen ab) oder ist es gedacht,
> > dass die Anwender mehrere if-Abfragen verschachteln?
> >
> > Ist das ein Thema f├╝r eine Beauftragung durch Conrad?
> >
> > Viele Gr├╝├če
> >
> > Jo
> Hallo Peter, darf ich dich dazu noch um eine kurze Aussage bitten?
Danke und viele
Gr├╝├če Jo
Hallo Peter,
in einem momentanen Projekt wo es auf Performance ankommt behelfe ich mir mit der Verschachtelung von &&
also anstelle von if( (a == b) && (b==c) && (c==d) || ÔÇŽ.
schreibe ich

if(a == b) {
if( c==d) {
if( e==f) {
ÔÇŽ
}
}
}

Und bei or mit switch case geht mit vielen Einschr├Ąnkungen

anstelle von if( (a == 1) || (a==2) || (a==3) ||ÔÇŽ.
Der Performanceworkaround

switch (a) {
case 1:
case 2:
case 3:

break;

}

Beides ist sehr unsch├Ân und beim || geht der Workaround nur in wenigen f├Ąllen.
Steht eine Verbesserung auf der Roadmap oder ist das auch ein Thema f├╝r Herrn Sommer von Conrad?

Viele Gr├╝├če

Jo
 


    Antwort schreiben


Antworten: