If Anweisung wird übersprungen
-
@titan99_ Datenstrukturen insbesondere red black trees und algorithmen und hpc.
-
@Wutz schon ironisch, dass die aufgeklärten Mitglieder dieses Forums @Tyrdal's Post 8 Punkte höher bewertet haben, als deinen. Was sagt Dir das?
-
Dieser Beitrag wurde gelöscht!
-
@titan99_ sagte in If Anweisung wird übersprungen:
@hustbaer sagte in If Anweisung wird übersprungen:
Und auf Dinge zu antworten die du nicht bzw. nicht ausreichend verstanden hast.
Verstehe nicht welche Dinge gemeint sind.
Macht nix, das Problem hat sich ja nun von selbst gelöst.
-
@titan99_
Best of Wutz:- Klappe halten
- Der o.g. Herr ist von Prekariatsforen
- Was soll der Schrott?
- Anfänger und alle Möchtegern-C-Profis sollen immer for benutzen und niemals while. So auch bei dir.
- Dorftrottel.
- Getroffene Hunde heulen.
- Niveau von Stümpern
Er hat schon eine ziemlich herablassende Ader. Und daher spricht mir der Beitrag von Tydral ein wenig aus der Seele.
-
@Columbo
Nanu? Ein Mod, der offtopic daherredet? Müssest du dich nicht selbst verwarnen? Von dir habe ich noch keinen einzigen qualifizierten C-Beitrag gelesen. Welchen von meinen > 4.000 C-Beiträgen meinst du?
-
@Wutz Du bist genauso fehlbar wie jedes andere Mitglied hier. Was soll z.B. das hier? Fuer einen informierten Beobachter der Diskussion gibst Du einen Eindruck von einem overten Narzissten mit der dafuer typischen Hysterie. Beiss dir mal auf die Lippe, anstatt dich gegenueber anderen Mitgliedern feindselig zu benehmen. Das ist entschieden nicht die Kultur dieser Community.
-
@Columbo
Du hast meine beiden Fragen nicht beantwortet.
-
Die Frage, welche Beiträge @Columbo z.B. meint, hat doch @Quiche-Lorraine schon für ihn beantwortet.
-
@Columbo sagte in If Anweisung wird übersprungen:
Du benutzt
std::map
im high-performance Sektor? Also einen red-black tree der jeden Knoten mitnew
alloziert?Lies Dir bitte den Thread noch einmal genau durch, da war die Rede von
.at()
auf beliebigen Containern. Denn Swordfish schrieb folgendes : „@Bushmaster Deswegen gibt es bei Containern generell at() UND operator[].“Zum Thema map und HPC, das Einfügen in eine map ist langsam beim Verwenden des Standardallokators. Solange man meistens nur liest, ist das aber nicht von Nachteil.
Und weshalb sprechen wir von Cache-hits, wo es hier um zwei Funktionen
operator[]
/at
geht, deren einziger Unterschied darin besteht, was eine branch, die im gegebenen Rahmen (Key soll bereits existieren) als "unlikely" kategorisiert wird, macht?Sobald man Datenstrukturen verwendet, die größer sind als der L1, L2, L3, L4 … Cache, muss man die Algorithmen darauf optimieren. D.h. auch beim
operator[]
wirkt sich das zum Teil dramatisch aus. Wie stark hängt immer davon ab, was für einen Container, mit welchen Allokator und mit welchem Algorithmus man nutzt. Wenn man nur einmal über den Arbeitsspeicher schreibt z.B. für eine Initialisierung, dann ist die Auswirkung gleich null. Wenn man aber öfters die gleichen Elemente nutzt, dann kann eine Optimierung auf Cache Lines und die Cache Größen Wunder wirken – auch bei so schnöden Dingen wie eine Sortierung. Im Grunde kann man die alten Kapitel aus TAOCP von Knuth mit dem externen Sortieren wieder hervor kramen. Zwar nutzt man keine Tapes mehr, aber die Wartezeit auf den Hauptspeicher ist mittlerweile sehr lang.