Re: Nette Features in C# 3.0



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
.



Relevant Pages

  • Re: Linker Crashes VAX/VMS 7.3
    ... CPU 0 Crash Code 13C,Crash Type = FREEPAGREF ... EXCEPTION 816CC800 0000A800 ... Exception par #1: FFFFFFFF ...
    (comp.os.vms)
  • Re: Version 1.1 on Window Mobile 6.1
    ... Hey Robert...I googled the exception eventtype you listed - ... uninstalling the install of the 1.1 runtime and letting the native 2.0 ... Code    : 0xC0000005 ... CPU Architec: 5 ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: instabile VMS-Installation
    ... CPU 0 Crash Code 1CC,Crash Type = INVEXCEPTN ... EXCEPTION 83407A00 0000A800 ... Exception par #1: 0000000C ...
    (de.comp.os.vms)
  • Re: New CPU or Boat Anchor
    ... > I installed an FC4 desktop system on a 500 mh hp pavillion without much ... After the updates were done and I started tweaking some ... > or to replace the CPU etc I would appreciate your help. ... from suspend which would manifest itself as a Machine check exception. ...
    (Fedora)
  • Re: Machine Check Error.
    ... Machine Check Architecture exception. ... exception is sent by the CPU in the computer in response to a computer ... the CPU reports the Machine Check Architecture ...
    (microsoft.public.windows.server.general)