Mein Coding Blog, Wiener-Würstchen-Niveau, C++11, Optimierung, etc...
-
Hier wid hauptsaechlich Deutsch geschrieben. Mit Slang beeindruckst du niemanden.
-
Gero_Programmierstil_de schrieb:
@hustbaer: danke für deine zeitverschwendung.
performance-messung: kommt doch immer auf den anwendungszweck der funktionalität an, ich find landau-symbolik und auseinandergenommene operationen bis kurz vor assembly-level eigentlich immer aussagekräftiger.
Also dazu mal ein konkretes Beispiel...
Wir wollen ein Bild stauchen, und zwar in der Höhe. Mit einem einfachen Boxfilter, und fixem Verhältnis 1:4.
Folgende beiden Algorithmen:
A
Input: Bild[Breite, Höhe] Output: Bild[Breite, Höhe / 4] Für alle Zeilen z in Input, Step 4 Für alle Spalten s in Input Output[s, z / 4] = (Input[s, z] + Input[s, z + 1] + Input[s, z + 2] + Input[s, z + 3]) / 4B
Input: Bild[Breite, Höhe] Output: Bild[Breite, Höhe / 4] Puffer: Zeile[Breite] Für alle Zeilen z in Input Wenn (z modulo 4) gleich 0 Für alle Spalten s in Input Puffer[s] = Input[s, z] Wenn (z modulo 4) gleich 1 oder 2 Für alle Spalten s in Input Puffer[s] = Puffer[s] + Input[s, z] Wenn (z modulo 4) gleich 3 Für alle Spalten s in Input Output[s, z / 4] = (Puffer[s] + Input[s, z]) / 4Die Anordnung im Speicher ist dabei "die übliche", also Leserichtung (=zuerst von Links nach Rechts und dann von Oben nach Unten).
Beide Algorithmen laufen in O(Breite * Höhe).
Brechen wir das jetzt mal ganz grob auf Quasi-Assembler Befehle runter.
A
(Höhe / 4) mal: 1 "Loop-Control" (alles was der Loop halt brauch, inklusive Addition, Vergleich etc.) (Breite) mal: 1 "Loop-Control" 4 Load (genügend Register vorausgesetzt ist die 2D Indexberechnung hier quasi gratis, deswegen vergessen wir die einfach) 3 Add (die "z+1", "z+2" etc. zählen wir nicht, wir behaupten das kann die Addressierungseinheit gratis) 1 Shift (das z / 4 fällt weg, und das (Input ...) / 4 wird garantiert als Shift umgesetzt) 1 Store --------------------------------- "Loop-Control": Höhe * (Breite + 1) / 4 Load: Höhe * Breite Store: Höhe * Breite / 4 Add/Shift: Höhe * BreiteB
(Höhe) mal: 1 "Loop-Control" (die äussere Schleife) (Höhe / 4) mal: (der "(z modulo 4) gleich 0" Teil) Breite mal: 1 "Loop-Control" 1 Load 1 Store (Höhe / 2) mal: (der "(z modulo 4) gleich 1 oder 2" Teil) Breite mal: 1 "Loop-Control" 2 Load 1 Add 1 Store (Höhe / 4) mal: (der "(z modulo 4) gleich 3" Teil) Breite mal: 1 "Loop-Control" 2 Load 1 Add 1 Shift 1 Store ------------------------------ "Loop-Control": Höhe * (Breite + 1) Load: Höhe * Breite * 7/4 Store: Höhe * Breite Add/Shift: Höhe * BreiteB braucht also...
4 mal so viele "Loop-Control" Befehle wie A
7/4 mal so viele Loads wie A
4 mal so viele Stores wie A
gleich viele Arithmetischen Befehle wie ADeutlicher kann man wohl nicht verlieren. Trotzdem ist B bei grossen Bildern auf vielen Plattformen schneller als A (*). Frage: warum?
*: Das ist das Ergebnis eines ganz konkreten, realen Performance-Vergleichs, den ich angestellt habe nachdem ich "auf gut Glück" B implementiert hatte (A war der vorhandene Code). Ich hätte mich zwar wetten getraut dass B schneller ist, aber nicht um viel Geld und eher des Spasses wegen als weil ich mir mehr als 50% sicher gewesen wäre dass es so ist. Auf meiner Ziel-Plattform war es so. Auf anderen Plattformen kann es genau so gut andersrum ausgehen.
-
Bashar schrieb:
hustbaer schrieb:
Wenn schon dann "heads level".
level-headed heißt aber wieder was ganz anderes...
und?

"scheiss wiener" heisst auch was anderes als "wiener scheiss".
-
hustbaer schrieb:
Bashar schrieb:
hustbaer schrieb:
Wenn schon dann "heads level".
level-headed heißt aber wieder was ganz anderes...
und?

"scheiss wiener" heisst auch was anderes als "wiener scheiss".Made my Day

-
hustbaer schrieb:
"scheiss wiener" heisst auch was anderes als "wiener scheiss".
Ist "wiener scheiss" eine feststehende Redewendung, die mit dem Verständnis des Ausdrucks "scheiss wiener" interferieren kann?
-
Bashar schrieb:
hustbaer schrieb:
"scheiss wiener" heisst auch was anderes als "wiener scheiss".
Ist "wiener scheiss" eine feststehende Redewendung, die mit dem Verständnis des Ausdrucks "scheiss wiener" interferieren kann?
Nein.
Und?
-
hustbaer schrieb:
Nein.
Und?Das frag ich dich. Oder wolltest du nur mal mitteilen, dass du Wiener Scheiße findest?
-
Nein. Ich wollte dir damit mitteilen dass ich nicht verstehe worauf du mit deinem "level-headed heißt aber wieder was ganz anderes..." hinaus wolltest.
Mir fehlt irgendwie der Zusammenhang."Vase" heisst auch was anderes als "Rechtsanwalt", deswegen schreib ich das aber nicht in jeden Thread rein wo über Rechtsanwälte diskutiert wird.
-
hustbaer schrieb:
Ich wollte dir damit mitteilen dass ich nicht verstehe worauf du mit deinem "level-headed heißt aber wieder was ganz anderes..." hinaus wolltest.
Deine Reaktion spricht eine andere Sprache.
-
Könntest du bitte mal irgendwas klar sagen?
Du sprichst nämlich gar keine Sprache, zumindest keine die ich verstehen könnte?Sag endlich was zum Geier du meinst oder spars dir einfach

BTW: Bist du vielleicht Wiener dass du so angepisst reagierst? Falls ja: sorry, wusste ich nicht. Dann ersetze halt Wiener durch Burgenländer oder was auch immer. Trotzdem weiss ich immer noch nicht was du eigentlich sagen wolltest.
BTW2: Und das: dein Einwurft "level-headed heißt aber wieder was ganz anderes..." ist Blödsinn, das wollte ich damit sagen. Weil halt "A B" in den wenigsten Fällen das selbe heisst wie "B A".
-
hustbaer schrieb:
Könntest du bitte mal irgendwas klar sagen?
Du sprichst nämlich gar keine Sprache, zumindest keine die ich verstehen könnte?Wenn du was nicht verstehst, wieso fragst du dann nicht nach? Eine Antwort wie deine kann ich nur so interpretieren, dass du ganz genau weißt, worauf ich hinauswollte, das aber für falsch und so bescheuert hältst, dass die einzige mögliche Antwort eine übertrieben lächerliche Nachäffung meiner Äußerung sein kann.
[...]Und das: dein Einwurft "level-headed heißt aber wieder was ganz anderes..." ist Blödsinn, das wollte ich damit sagen.
Das ist mir klar, aber du musst das ja unbedingt abstreiten, Unverständnis vorgeben und Erklärungen verlangen, die ich mir lieber spare.
Weil halt "A B" in den wenigsten Fällen das selbe heisst wie "B A".
Aber das zu illustrieren ist dir mit deinem seltsamen Beispiel nicht gerade gelungen. Ich werd das aber nicht weiter diskutieren, eure innerösterreichischen Animositäten müsst ihr unter euch klären.
-
[offtopic]Ein Klugscheißerforum - und ich liebe es
[/offtopic]
-
Bashar schrieb:
hustbaer schrieb:
Könntest du bitte mal irgendwas klar sagen?
Du sprichst nämlich gar keine Sprache, zumindest keine die ich verstehen könnte?Wenn du was nicht verstehst, wieso fragst du dann nicht nach? Eine Antwort wie deine kann ich nur so interpretieren, dass du ganz genau weißt, worauf ich hinauswollte, das aber für falsch und so bescheuert hältst, dass die einzige mögliche Antwort eine übertrieben lächerliche Nachäffung meiner Äußerung sein kann.
Ich wollte nicht wahr haben dass man so dumm sein kann.
EDIT: und ich bin mir genau genommen immer noch nicht sicher. Aber gut. Du magst ja nicht sagen was genau gemeint war.
EDIT2: genau genommen hab ich sogar nachgefragt. Was meinst du was das "und?" darstellt.
-
-
hustbaer schrieb:
Ich wollte nicht wahr haben dass man so dumm sein kann.
Passiert mir auch oft, aber es gibt ja immer zwei Möglichkeiten, wie man das auflöst.
EDIT: und ich bin mir genau genommen immer noch nicht sicher. Aber gut. Du magst ja nicht sagen was genau gemeint war.
"level-headed" ist eine feststehende Redewendung für unaufgeregt, einen kühlen Kopf bewahrend. Wenn man jetzt "heads-level" liest, liest man automatisch auch ein bisschen "level-headed", so dass die beiden Begriffe beim Verständnis interferieren. Anderes Beispiel, angelehnt an deins: Was verstehst du unter einer Wiener Schmähkritik?
EDIT2: genau genommen hab ich sogar nachgefragt. Was meinst du was das "und?" darstellt.
Maximal die Andeutung einer rhetorischen Frage.
-
Bashar schrieb:
hustbaer schrieb:
Ich wollte nicht wahr haben dass man so dumm sein kann.
Passiert mir auch oft, aber es gibt ja immer zwei Möglichkeiten, wie man das auflöst.
eine davon is sicherlich es auszuknobeln

-
Dein Blog ist Provokation pur!
-
Bashar schrieb:
Anderes Beispiel, angelehnt an deins: Was verstehst du unter einer Wiener Schmähkritik?
Kenn ich als Redewendung jetzt nicht. Mag sein dass ichs mal irgendwo gehört habe, aber pfuh.
Ohne weiteren Kontext würde ich vermuten: eine unsachgemäss schlechte Kritik, ausgesprochen von einem Wiener, zu irgend einer Sache die er nicht mag.
Mir fehlt aber auch hier wieder der Zusammenhang - ich verstehe nicht was du damit sagen willst (aber vielleicht kommt das ja noch).EDIT2: genau genommen hab ich sogar nachgefragt. Was meinst du was das "und?" darstellt.
Maximal die Andeutung einer rhetorischen Frage.
Naja der
war in meinen Augen ein deutlicher Hinweis darauf dass ich nicht verstehe was du damit sagen willst.
Das Beispiel sollte verdeutlichen dass es für mich ganz normal ist, dass zwei Wörter in vertauschter Reihenfolge was anderes bedeuten.
(Und wenn es noch dazu nichtmal die selben Wörter sind, sondern nur der selbe Wortstamm, ist es noch weniger verwunderlich für mich.)
-
hustbaer schrieb:
Bashar schrieb:
Anderes Beispiel, angelehnt an deins: Was verstehst du unter einer Wiener Schmähkritik?
Kenn ich als Redewendung jetzt nicht. Mag sein dass ichs mal irgendwo gehört habe, aber pfuh.
Ohne weiteren Kontext würde ich vermuten: eine unsachgemäss schlechte Kritik, ausgesprochen von einem Wiener, zu irgend einer Sache die er nicht mag.
Mir fehlt aber auch hier wieder der Zusammenhang - ich verstehe nicht was du damit sagen willst (aber vielleicht kommt das ja noch).Eine Schmähkritik ist eine kritische Äußerung die alleine dazu dient, das Gegenüber zu schmähen, der Schmach auszusetzen. Was eine "Wiener Schmähkritik" konkret bedeutet, mag ich mir daraus aber nicht zusammenreimen müssen. Worauf Bashar hinauswill ist schlicht, daß man neben der "Schmähkritik" unweigerlich auch den "Wiener Schmäh" sozusagen "mitliest": Eine Kritik, die mit einer gesunden Priese ebendessen gewürzt ist.
-
Swordfish schrieb:
Worauf Bashar hinauswill ist schlicht, daß man neben der "Schmähkritik" unweigerlich auch den "Wiener Schmäh" sozusagen "mitliest": Eine Kritik, die mit einer gesunden Priese ebendessen gewürzt ist.
Es mag sein dass es Leute gibt, denen das so geht, wobei es mich sehr wundern würde.
Mir geht es nämlich nicht so. Ich lese entweder das eine oder das andere. Dabei mache ich durchaus mal Fehler, aber ich lese nicht irgendwie ein wenig von beidem.
Mir ist mittlerweile glaube ich auch klar was er meint. Was ich dagegen immer noch nicht verstehe ist dass man das als etwas besonderes, erwähnenswertes empfindet. Und wenn das was er gemeint hat nicht erwähnenswert ist (was es für micht nicht ist), dann bleibt für mich bloss noch eine andere Auslegung übrig. Und die wäre wirklich total dämlich gewesen (daher auch das "Ich wollte nicht wahr haben dass man so dumm sein kann").