Es ging Stefan darum, dass wenn man das Intrinsic __builtin_sin nutzt
die Sinus-Funktion inline ist, meiner Meinung nach ggf. halt durch eine
entsprechende x87CPU-Instruktion, und Stefans Meinung nach ist das ganze
Error-Handling wieder Teil irgendwelcher Library-Calls, was dann ent-
sprechend langsam wäre.
Ich hab halt gezeigt, dass selbst wenn ich dem Compiler sage, dass x87
-Arithmetik genutz werden soll einfach nur ein blanker Libary -Call für
die Sinus-Operation gemacht wird. Und der wird sicher nicht selbst errno
per Libary-Call schreiben.
Die Sache ist einfach: Helmut war ja letztens mal der Meinung, dass die
transzendenten x87-Operationenen Fantastilliarden mal schneller seien
als das man das selbst implementieren könnte. Ich hab halt gezeigt, dass
das nicht so ist bzw. die Libary-Implementationen die auf SSE aufsetzen
sogar ein Vielfaches schneller sind. Dementsprechend ist es hier im
diskutierten Zusammenhang nachvollziehbar, dass __builtin_sin gar keine
entsprechende transzendente CPU-Instruktionen nutz, sondern einfach nur
einen Libary-Call macht, denn der ist ja auf modernen CPUs effizienter
implementierbar.
Ein anderer Punkt war eben, dass es eigentlich egal ist, ob errno direkt
gesetzt wird oder über meinentwegen zigfach verschachtelte Libary Calls,
denn diese Fehler-Situation wird ja i.d.R. übersprungen und der entspre-
chende Sprung nahezu immer korrekt vorhergesagt.