C/C++ - Assembler



  • Sone schrieb:

    Ist das sinnvoll?

    Es ist sinnvoll, zuerst Assembler zu lernen und dann eine Hochsprache, genauso wie es sinnvoll ist, zuerst laufen zu lernen und dann Fahrrad fahren.

    Ein Tutorial habe ich gerade nicht, aber ein schönes Beispiel:

    http://www.cortstratton.org/articles/HugiCode.html



  • Von 90 Zykeln durch die Standard C++ Methode, bis zur handoptimierten Assembler-Lösung mit 17 Zykeln, ist schon ein gewaltiger Sprung. Assembler beschleunigt also nicht nur ein wenig, sondern bis zu VIER-fach!!! Es ist dann schon ein Unterschied ob ich eine Stunde auf mein Ergebnis warten muss, oder nur 15 Min.



  • dd++ schrieb:

    Sone schrieb:

    Ist das sinnvoll?

    Es ist sinnvoll, zuerst Assembler zu lernen und dann eine Hochsprache, genauso wie es sinnvoll ist, zuerst laufen zu lernen und dann Fahrrad fahren.

    Im Allgemeinen nicht.

    Deine Analogie entbehrt jeder Grundlage. So, wie es sinnvoll ist, zuerst Quantenpysik zu lernen und dann erst das Spiel mit Bauklötzchen?

    Ich bin mir echt nicht sicher, ob der überfrachtete C++-Sone oder der minimalistische ASM-Sone leichter zu ertragen wäre.



  • volkard schrieb:

    überfrachtete C++-Sone

    Ist das jetzt ein Kompliment? 😕

    Es ist sinnvoll, zuerst Assembler zu lernen und dann eine Hochsprache

    Hört sich schwachsinnig an.



  • heftigerUnterschied schrieb:

    Von 90 Zykeln durch die Standard C++ Methode, bis zur handoptimierten Assembler-Lösung mit 17 Zykeln, ist schon ein gewaltiger Sprung. Assembler beschleunigt also nicht nur ein wenig, sondern bis zu VIER-fach!!! Es ist dann schon ein Unterschied ob ich eine Stunde auf mein Ergebnis warten muss, oder nur 15 Min.

    Musst auch -O3 -march=native oder sowas angeben.



  • Sone schrieb:

    volkard schrieb:

    überfrachtete C++-Sone

    Ist das jetzt ein Kompliment? 😕

    Ich sag's mal ganz diplomatisch: Mit Dir möchte ich nicht in einem Team arbeiten.



  • dd++ schrieb:

    Sone schrieb:

    Ist das sinnvoll?

    Es ist sinnvoll, zuerst Assembler zu lernen und dann eine Hochsprache, genauso wie es sinnvoll ist, zuerst laufen zu lernen und dann Fahrrad fahren.

    Vorher sollte man natürlich erstmal Digitaltechnik verstehen, sonst hat man ja gar keine Grundlage.



  • Bashar schrieb:

    Vorher sollte man natürlich erstmal Digitaltechnik verstehen, sonst hat man ja gar keine Grundlage.

    Und die geht auch nicht ohne Quantenphysik.



  • heftigerUnterschied schrieb:

    Assembler beschleunigt also nicht nur ein wenig, sondern bis zu VIER-fach!!!

    Also aus einem Beispiel leitest du einen allgemeinen Faktor ab? Bullshit.

    Leider sind spezielle Befehlssaetze des Prozessor nur ueber ASM zugaenglich, bspw. SSE. Sollen diese Genutzt werden, muss entweder eine entsprechende Bibliothek genutzt werden oder eben inline-ASM.



  • volkard schrieb:

    Ich sag's mal ganz diplomatisch: Mit Dir möchte ich nicht in einem Team arbeiten.

    Wie genau kannst du das beurteilen, wenn du nie in einem Team mit mir gearbeitet hast?

    Vorher sollte man natürlich erstmal Digitaltechnik verstehen, sonst hat man ja gar keine Grundlage.

    Es stimmt aber vielleicht schon, dass man theoretischer Informatik einen kleinen Besuch abstatten sollte. So etwas wie Bitweises Und usw. ist doch wichtig.
    Edit:

    Und die geht auch nicht ohne Quantenphysik.

    Wenn das kein Sarkasmus war, dann bitte eine Erklärung.



  • theoretischer Informatik ... Bitweises Und usw. ist doch wichtig

    Koenntest du die Verbindung zwischen theoretischer Informatik und Bitweises (was immer das ist) herstellen. Ich verstehe es nicht.

    Wie genau kannst du das beurteilen, wenn du nie in einem Team mit mir gearbeitet hast?

    Man kann auch Dinge ablehnen, ohne sie jemals ausprobiert zu haben. Das ist voellig in Ordnung. Passiert bei jedem Einstellungsgespreach. Formelle und informelle Kriterien fuehren zur Akzeptanz oder Ausschluss des Bewerbers.



  • Bitte nicht krass abdriften, wenigstens einen Link zu einem Tutorial bitte bevor das zu einem ASM vs. C++ Thread wird... 🙂

    P.S.: Ich merk' schon, volkard mag' mich gar nicht leiden... 😞



  • knivil schrieb:

    theoretischer Informatik ... Bitweises Und usw. ist doch wichtig

    Koenntest du die Verbindung zwischen theoretischer Informatik und Bitweises (was immer das ist) herstellen. Ich verstehe es nicht.

    Ich weiß es jetzt auch nicht. Nach einem Buch von Galileo Computing, das ich gelesen habe, gibt es theoretische, technische, praktische und angewandte Informatik.

    Gehört Bitweises Und nun zur praktischen, also in dieselbe Sparte wie Programmieren? Ich dachte, das theoretische wäre die Mathematik hinter der Informatik. (Oder steht die Informatik hinter der Mathematik? :p)
    Und da nun mal das & eine Operation auf eine Folge von Ziffern ist, hört sich das sehr mathematisch an.



  • Sone schrieb:

    volkard schrieb:

    Ich sag's mal ganz diplomatisch: Mit Dir möchte ich nicht in einem Team arbeiten.

    Wie genau kannst du das beurteilen, wenn du nie in einem Team mit mir gearbeitet hast?

    Indem ich einfach zähle, wieviele Postings von Dir eine Facepalm bekommen. Du hast so um 50%.



  • http://www.tutorialspoint.com/assembly_programming/index.htm

    theoretische, technische, praktische und angewandte Informatik

    Und didaktische Informatik.

    Gehört Bitweises Und nun zur praktischen, also in dieselbe Sparte wie Programmieren? Ich dachte, das theoretische wäre die Mathematik hinter der Informatik. (Oder steht die Informatik hinter der Mathematik?

    Ich verstehe immer noch nicht. Was ist hinten, was vorne?

    Und da nun mal das & eine Operation auf eine Folge von Ziffern ist, hört sich das sehr mathematisch an.

    Dein Faceplam-Zaehler wird inkrementiert.



  • volkard schrieb:

    Indem ich einfach zähle, wieviele Postings von Dir eine Facepalm bekommen. Du hast so um 50%.

    Hmm, das sehe ich deutlich anders. Da zählst du wohl facepalm Posts wie 20.

    Aber abgesehen davon kann ich nicht sehen, wie du da auf meine Teamarbeit schließt. Denkst du, da fängt man spontan zu klugscheißen an? 😕 Da geht es doch um Ergebnisse. Und ich denke nicht, dass mein Code so bodenlos katastrophal ist.



  • knivil schrieb:

    http://www.tutorialspoint.com/assembly_programming/index.htm

    ... damit hast du aber nicht Assembler gelernt, gehe ich richtig in der Annahme?



  • Sone schrieb:

    Bitte nicht krass abdriften, wenigstens einen Link zu einem Tutorial bitte bevor das zu einem ASM vs. C++ Thread wird... 🙂

    Ich denke, es ist egal, welches Buch Du nimmt. Selbst eins über den Z80 passt. Hauptsache, es ist dick und darin wird viel programmiert und die Snippets werden erklärt, und nicht nur Befehle aufgelistet. Vielleicht sollte im Titel nicht gerade "Anfänger" stehen.
    Zu aktuellen Prozessoren schwenkst Du dann um, indem Du eine aktuelle Befehlsliste runterlädst.



  • Sone schrieb:

    Ich weiß es jetzt auch nicht. Nach einem Buch von Galileo Computing, das ich gelesen habe, gibt es

    *patsch*



  • volkard schrieb:

    Sone schrieb:

    Ich weiß es jetzt auch nicht. Nach einem Buch von Galileo Computing, das ich gelesen habe, gibt es

    *patsch*

    Allerdings war das nicht C++ von ..., nein, das war ganz in Ordnung.
    Und das hat auch nicht erklärt, dass Bitweises Und in der theoretischen Informatik liegt, sondern es hat die Vier Bereiche angesprochen und erklärt. Richtig, soweit ich sehen kann. Ich habe "theoretisch" nur falsch interpretiert.


Anmelden zum Antworten