Re: Nette Features in C# 3.0
- From: Sebastian Biallas <groups.5.sepp@xxxxxxxxxxxxxxx>
- Date: Thu, 29 Sep 2005 16:28:39 +0200
Rainer Weikusat wrote:
> Sebastian Biallas <groups.5.sepp@xxxxxxxxxxxxxxx> writes:
>
>>Rainer Weikusat wrote:
>
> [...]
>
>>>>Was kostet, ist lediglich der einmalige Setup eines Exception
>>>>-Handlers sowie das Fangen der Exception. Am Code der die Exception
>>>>auslöst muss garnichts verändert werden.
>>>
>>>Das ist 'mal wieder' das lustige Konzept, dass Code, der in
>>>irgendeinem anderen file steht, weniger "da" waere. Kauen wir das doch
>>>fuer UNIX und aehnliches mal durch:
>>> [1..9]
>>
>>Meine CPU muss das 1000 Mal pro Sekunde zwecks (möglichem) Taskwechsel
>>tun. Normale Interrupts sind da noch nicht mit eingerechnet.
>
[..]
>
> Wenn das eine Anspielung auf 'HZ=1000' sein soll: Das ist ein
> normaler Interrupt
Das ist eine FPE auch.
> und es wird nicht bei jedem auf 'moeglicher
> task-Wechsel' geprueft. Ich habe jetzt im Moment gerade keine Lust,
> dass breiter auszuwalzen, aber so allgemein, wie Du das geschrieben
> hast, stimmt es nicht.
Die CPU muss aber 1000/s Mal in Ring 0 schalten, Register sichern und
wiederherstellen, der Kernel muss schauen, was überhaupt passiert ist
usw.usf.
>>>Auf einer ausreichend schnellen CPU geht dieser Vorgang, nicht zuletzt
>>>deswegen, weil er von profilern schlecht erfasst werden kann,
>>>hoechstwahrscheinlich im 'allgemeinen Hintergrundrauschen' der anderen
>>>800.000 Operationen, die der Code durchfuehrt, deren einzige
>>>festellbare Eigenschaft die ist, dass sie das Endresultat nicht
>>>negativ beeinflussen, unter. Da ist er trotzdem.
>>
>>Er ist nur da, wenn wirklich eine Exception auftritt.
>
> Ja. Deswegen ist der overhead dafuer aber immer noch heftig genug, um
> diese 'Ausnahme' eben auch nur 'in Ausnahmen-Situationen' haben zu
> wollen.
Vielleicht gehöre ich ja zu der aussterbenden Spezies, die Ausnahmen
wirklich nur in Ausnahme-Situationen haben mochte (wenn ein definierter
Under-/Overflow Teil eines Algorithmus ist, wäre es in der Tat reichlich
dämlich, wenn einem da so Exceptions dazwischenfunken. Wenn ein
Under-/Overflow das Ergebnis vollkommen zerstört, dann ist mir eine
automatische Exception sehr viel lieber als das langsamere (und
möglicherweise fehleranfällige) händische Prüfen aller Zwischenergebnisse).
Manch anderer aber schreibt halt sowas (entnommen von
http://thedailywtf.com/forums/43288/ShowPost.aspx):
try
{
int idx = 0;
while (true)
{
displayProductInfo(prodnums[idx]);
idx++;
}
}
catch (IndexOutOfBoundException ex)
{
// nil
}
Gruß,
Sebastian
.
- Follow-Ups:
- Re: Nette Features in C# 3.0
- From: Rainer Weikusat
- Re: Nette Features in C# 3.0
- References:
- Re: Nette Features in C# 3.0
- From: Georg Bauhaus
- Re: Nette Features in C# 3.0
- From: Roland Illig
- Re: Nette Features in C# 3.0
- From: Georg Bauhaus
- Re: Nette Features in C# 3.0
- From: Thomas G. Liesner
- Re: Nette Features in C# 3.0
- From: Christian Kortes
- Re: Nette Features in C# 3.0
- From: Christian Kortes
- Re: Nette Features in C# 3.0
- From: Thomas G. Liesner
- Re: Nette Features in C# 3.0
- From: Sebastian Biallas
- Re: Nette Features in C# 3.0
- From: Rainer Weikusat
- Re: Nette Features in C# 3.0
- From: Rainer Weikusat
- Re: Nette Features in C# 3.0
- From: Sebastian Biallas
- Re: Nette Features in C# 3.0
- From: Rainer Weikusat
- Re: Nette Features in C# 3.0
- Prev by Date: Re: Nette Features in C# 3.0
- Next by Date: Re: Nette Features in C# 3.0
- Previous by thread: Re: Nette Features in C# 3.0
- Next by thread: Re: Nette Features in C# 3.0
- Index(es):
Relevant Pages
|