Bei dem Vergleich mit den 100m Lauf ist aber 0,1s schon gewaltig
Tja. Wenn du fünf Jahre deines Lebens vergeuden möchtest, von mir aus.
Und auf nem Computer kommt es halt drauf an wie oft der Code ausgeführt wird (auch Kleinvieh macht mist).
Es geht hier eben nicht um die Frage, ob ich einen C-Kernel verbessern kann, wenn ich an einigen Stellen handoptimierten Assemblercode einfüge. Es wurde oft genug gesagt, dass das auf jeden Fall so ist. Wie MNemo schreibt, es geht darum, ob es sinnvoll ist, den ganzen Kernel in Assembler zu schreiben.
Mir persönlich ist es ziemlich egal, ob sich ein Compiler sein „Wissen“ selbst beibringt, oder ob er es beigebracht bekommt.
Das ist die typische Aussage "der Strom kommt ja aus der Steckdose".
Ich weiß zwar nicht genau, was du damit meinst, aber ich würde dem zustimmen. Mir geht es ziemlich am Hinterteil vorbei, wer den Compiler wie geschrieben hat. Das Ergebnis zählt, und dieses ist gut.
Naja, ein OS hat igendwo auch nen strlen, aber der Compiler sollte das eigentlich ganz gut optimieren können
Was er im Allgemeinen sogar tut. Und nochmal: Es geht nicht darum, dass der Compiler
immer den
perfekten Code erzeugt. Es ist nur eine Frage vom Verhältnis von Aufwand zu Nutzen. Von fünf Jahren gegen 0,1 Sekunden.
Hat eigentlich irgendjemand hier das gelesen was ich gequotet habe?
Wenn du die Aussage von Svenska meinst: Ja, und ich stimme ihr sogar zu. Dennoch würde ich das so nie als Argument verwenden und auch Svenska hat das imho eher wieder zurückgenommen.
Ich fasse mal meine Meinung zusammen: Ein Compiler erzeugt selten perfekten Code. Wie gut der Code ist, den ein Mensch schreibt, das hängt von seinen Fähigkeiten ab, von der zur Verfügung stehenden Zeit, etc. pp.. Im Allgemeinen brauche ich für eine Optimierung des Codes hin zu einer Stufe, die compileroptimiertem würdig ist, ein Vielfaches der Zeit, die ich für das Schreiben des Codes in der Hochsprache benötige, abgesehen davon, dass ich persönlich eh länger dafür brauche, überhaupt Assemblercode zu schreiben als den Hochsprachencode (schon allein, weil es normalerweise mehr Zeichen sind, die man zu tippen hat).
Eine weitere Optimierung dauert dann nochmal so lange. Insgesamt ist es deshalb für den größten Teil eines Großprojektes sinnvoll, ihn in einer Hochsprache zu schreiben. Potenziert sich der Nutzen von Handoptimierung hingegen erheblich (extrem häufig durchlaufene Funktionen, etc.), so ist es wiederum für einzelne Teile sinnvoll, sie von Hand zu optimieren – wenn das Ergebnis besser als das des Compilers ist.