lernen auf Probe, wahrscheinlich() und unwahrscheinlich() compiler-Hinweise

Wie kann ich demonstrieren für Studierende der usability von likely und unlikely compiler-Hinweise (__builtin_expect)?

Können Sie schreiben, ein Beispiel-code, die wird mehrmals schneller mit diesen Andeutungen Vergleich der code ohne Hinweise.

  • kerneltrap.org/node/4705
  • Crowder, ja. aber ich will ein Beispiel Programm, in dem die Studierenden können den Unterschied SPÜREN, es nicht zu Lesen in assembler.
  • Sie bekommen nicht solch ein Beispiel, denn es ist kein Unterschied zu spüren. Das ist das Schlimmste, hässlichste Art von nutzlos Mikro-Optimierung.
  • aber Linux-kernel aktiv verwenden. Auch der Programmierer weiß viel über sein Programm und markieren können selten verwendete code besser als der compiler dies erkennt.
  • Linux-kernel ist aktiv schreiben alle möglichen Dinge, die sind schrecklich C. ich bin damit einverstanden kann der Programmierer besser wissen, welche Filiale ist wahrscheinlicher, aber das bedeutet nicht, dass ich Unterstützung hässliche vorzeitige Mikro-Optimierung alle über dem Platz. Es ist wirklich selten, dass diese hässliche likely Makros erzeugen keine wahrnehmbaren performance-Vorteil.
  • Wenn Sie denken, dass wahrscheinlich/unwahrscheinlich nicht geben kann, keinen nutzen, Sie Katze öffnen Sie eine neue Frage. Aber diese Frage eröffnet wurde, auf Wunsch von meinem Freund. Er ist ein CS-Lehrer von erste-Jahr-Studenten, und er wollte Ihnen zeigen, ein wahrscheinlich/unwahrscheinlich Beispiel. Er war nicht in der Lage, zu produzieren, ein Beispiel, so fragte ich diese q. Ich weiß nicht, ist in diesem Beispiel erforderlich, die durch natürlich oder fügt er es von selbst. Aber das Ziel ist es, zu geben, grundlegende Verständnis, wahrscheinlich Studenten.
  • Welche Art von erste-Jahr CS Lehrer lehrt die Schüler vorzeitigen Mikro-Optimierung? Er sollte lehren Sie die richtige Sprache erste und höhere Effizienz-überlegungen (wie die Arbeit mit Daten in-place statt der Zuweisung kopiert, effiziente algorithmen mit Bezug zu Zeit und Raum, etc.). Wenn likely und unlikely sind gelehrt in CS-Lehrplan, es sollte ein senior-Jahr Thema.
  • Seine Russland. Ersten Jahr der high school. Was meinst du als "senior-Jahr"?
  • Dieser Lehrer ist der coach von ACM-team, das übergeben halb-Finale oder sogar endgültig. Also, ich denke, er lehrt Sie eine Menge von high-level Optimierung. Auch dies unwahrscheinlich/wahrscheinlich war nicht die erste Lektion, aber es war nur ein Teil der Lektion, in der Mitte des Jahres.

InformationsquelleAutor osgx | 2010-04-29
Schreibe einen Kommentar