<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Metaprogrammierung Frage]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich frage mich ob es sinnvoll ist <strong>alle mögliche</strong> Algorithmen in template-Metaprogrammierung zu übersetzen um die höchstmögliche Geschwindigkeit rauszuholen.<br />
Dann wäre es sinnvoll dass (ich) man ab dem Moment es immer benutzt damit später die template-Metaprogrammierung schneller zu umsetzen ist weil (ich) man ja erfahrung da dran (habe) hat.</p>
<p>ist es sinnvoll ja/nein - Wieso? (Wo wäre es besser diese Technik zu benutzen?)</p>
<p>Danke schonmal</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/315015/metaprogrammierung-frage</link><generator>RSS for Node</generator><lastBuildDate>Fri, 31 Jul 2026 13:56:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/315015.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 Mar 2013 13:51:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 13:51:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich frage mich ob es sinnvoll ist <strong>alle mögliche</strong> Algorithmen in template-Metaprogrammierung zu übersetzen um die höchstmögliche Geschwindigkeit rauszuholen.<br />
Dann wäre es sinnvoll dass (ich) man ab dem Moment es immer benutzt damit später die template-Metaprogrammierung schneller zu umsetzen ist weil (ich) man ja erfahrung da dran (habe) hat.</p>
<p>ist es sinnvoll ja/nein - Wieso? (Wo wäre es besser diese Technik zu benutzen?)</p>
<p>Danke schonmal</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308455</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 21 Mar 2013 13:51:36 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 13:57:12 GMT]]></title><description><![CDATA[<p>Wenn dir die Ausgangsinformationen zur Compile-Zeit noch nicht vorliegen, kannst du auch keine Template-Metaprogrammierung benutzen. Und ich glaube auch nicht, dass du irgendwann mal irgendwelche Algorithmen aus der Graphentheorie in Template-Metaprogrammierung benötigen wirst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308456</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Thu, 21 Mar 2013 13:57:12 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 13:56:48 GMT]]></title><description><![CDATA[<p>Sinnvoll ist es dann, wenn Du die Eingabedaten der Algorithmen zur Compilezeit kennst und &quot;Magic Numbers&quot; im Code vermeiden willst.</p>
<p>Unmöglich ist es dann, wenn die Eingabedaten zur Compilezeit sowieso nicht bekannt sind, daher erübrigt sich hier die Frage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308457</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 21 Mar 2013 13:56:48 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 14:03:07 GMT]]></title><description><![CDATA[<p>Danke euch beiden,</p>
<p>darüber hab ich garnicht nachgedacht obwohl ich wusste, dass alles während der Compilerzeit übersetzt werden. Dann ist die Frage unbrauchbar. Schade, dass es hier keine Danke buttons gibt.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308459</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 21 Mar 2013 14:03:07 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 14:04:22 GMT]]></title><description><![CDATA[<p>Und wenn für die Ausführung irgendeines Algorithmus' schon alles nötige zur compile time bekannt ist, können auch &quot;normal&quot; geschriebene Funktionen schon dann ausgeführt werden (constexpr).<br />
@Zenter: Also so hört es sich für mich an, als gäbs das nicht allzuviel Überschneidung, aber vielleicht hast du ja mal ein Beispiel, was du meinst. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>edit: waaaay too lahm <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308460</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Thu, 21 Mar 2013 14:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 14:47:27 GMT]]></title><description><![CDATA[<p>Hi Dobi,</p>
<p>ich habe kein konkretes Beispiel. Die Frage war auf die Allgemeinigkeit bezogen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308484</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 21 Mar 2013 14:47:27 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 15:04:54 GMT]]></title><description><![CDATA[<blockquote>
<p>in template-Metaprogrammierung zu übersetzen um die höchstmögliche Geschwindigkeit rauszuholen</p>
</blockquote>
<p>Templates sind Generalisierungen, Geschwindigkeit wird mit Spezialisierung auf Problemgroesse und Hardware erreicht. D.h. Dein Wunsch nach maximaler Geschwindigkeit wird nicht durch Templates erfuellt.</p>
<p>PS: Dein Deutsch ist grauenhaft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308489</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 21 Mar 2013 15:04:54 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 15:14:06 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<blockquote>
<p>in template-Metaprogrammierung zu übersetzen um die höchstmögliche Geschwindigkeit rauszuholen</p>
</blockquote>
<p>Templates sind Generalisierungen, Geschwindigkeit wird mit Spezialisierung auf Problemgroesse und Hardware erreicht. D.h. Dein Wunsch nach maximaler Geschwindigkeit wird nicht durch Templates erfuellt.</p>
</blockquote>
<p>Aber Templatemetaprogrammierung bietet, was er möchte. Denn durch die Metaprogrammierung reicht es, den allgemeinen Algorithmus zu programmieren, der dann aber zur Compilezeit anhand der Zusatzinformationen zu einer spezialisierten Variante optimiert werden kann.</p>
<p>Beispiel Determinante (Ich nehme mal o.B.d.A. die Leibniz-Formel):<br />
Im allgemeinen (NxN-Matrix, N unbekannt) hast du eine rekursive Funktion, die jeweils die Unterdeterminanten ausrechnet und zusammenmutlipliziert. Ungünstig. Wenn aber N bekannt ist, kann mit Templates zu Compilezeit bestimmt werden, wie die Gesamtformel aussieht. Also z.B. für N=2 das berühmte <em>ad-bc</em>. Und das ist die optimalste Version, die du hinschreiben kannst (solange die Koeffizienten unbekannt sind). Dabei musstest du aber bloß einmal die Leibnizformel als TMP programmieren, anstatt alle Fälle hinzuschreiben.</p>
<p>Das wird zum Beispiel von einigen Bibliotheken zur Arbeit mit (kleinen) Matrizen gemacht, weil das allgemein sehr gut funktioniert mit den Operationen der linearen Algebra. Die brauchen zwar immer ewig (= ein paar Sekunden) zum Compilieren, aber an die resultierende Laufzeit kommt nix ran.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308492</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 21 Mar 2013 15:14:06 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 21:13:14 GMT]]></title><description><![CDATA[<p>Dein Einwand ist mir bewusst, jedoch wurde geschrieben:</p>
<blockquote>
<p>höchstmögliche Geschwindigkeit</p>
</blockquote>
<p>Da dachte ich dann in erster Linie an SSE. Ich traue dem Compiler zwar zu, SSE Code zu erzeugen, trotzdem ist dieser im Allgemeinen nicht optimal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308526</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 21 Mar 2013 21:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 18:42:25 GMT]]></title><description><![CDATA[<p>Hi Seppj,</p>
<p>danke für deinen Beitrag hat mir echt weitergeholfen.</p>
<p>knivil schrieb:</p>
<blockquote>
<blockquote>
<p>höchstmögliche Geschwindigkeit</p>
</blockquote>
<p>Da dachte ich dann in erster Lieneie an SSE. Ich traue dem Compiler zwar zu, SSE Code zu erzeugen, trotzdem ist dieser im Allgemeinen nicht optimal.</p>
</blockquote>
<p>Damit meinte ich die höchstmögliche Geschwindigkeit die man mit der template-Metaprogrammierung gewinnen kann.</p>
<p>knivil schrieb:</p>
<blockquote>
<p>PS: Dein Deutsch ist grauenhaft.</p>
</blockquote>
<p>Bleib bitte das nächste mal Sachlicher. Es geht hier nicht darum, dass ich nicht so gut Deutsch kann wie andere hier im Forum es geht darum, dass hier Leute geholfen werden.<br />
Wenn du meine Frage nicht verstanden hast, dann kann ich sie gerne präziser stellen.<br />
Außerdem kannst du es gerne per pm mir sagen dass ich kein Deutsch kann ... ist kein Problem, es gibt ja in Deutschland niemanden der kein perfektes Deutsch kann so wie es aussieht.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308534</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 21 Mar 2013 18:42:25 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 19:28:52 GMT]]></title><description><![CDATA[<p>Zenter schrieb:</p>
<blockquote>
<p>knivil schrieb:</p>
<blockquote>
<p>PS: Dein Deutsch ist grauenhaft.</p>
</blockquote>
<p>Bleib bitte das nächste mal Sachlicher. Es geht hier nicht darum, dass ich nicht so gut Deutsch kann wie andere hier im Forum es geht darum, dass hier Leute geholfen werden.<br />
Wenn du meine Frage nicht verstanden hast, dann kann ich sie gerne präziser stellen.<br />
Außerdem kannst du es gerne per pm mir sagen dass ich kein Deutsch kann ... ist kein Problem, es gibt ja in Deutschland niemanden der kein perfektes Deutsch kann so wie es aussieht.</p>
</blockquote>
<p>Wenn du mit anderen Leuten schriftlich kommunizierst, dann ist es schon wichtig, dass du dir Mühe gibst. Du willst schließlich gelesen werden. Wenn du unleserlich schreibst, hat dies zwei Effekte:<br />
1. Man liest deine Beiträge vielleicht gar nicht erst. Schließlich sind hier nur freiwillige Helfer unterwegs. Wenn du dir nicht die Mühe machst, verständlich zu schreiben, wieso sollten sie es denn lesen?<br />
2. Du wirst gleich in die Schublade der Schluderer gesteckt. Wir wissen aus Erfahrung, wer schluderig schreibt, der programmiert auch unsauber. Denn beide Prozesse sind eng verwandt: Man bringt jeweils die eigenen Gedanken in eine Form, dass jemand anderes diese verstehen kann. Dabei ist es für den Vorgang an sich nicht entscheidend, ob das Ziel ein Computer oder ein Mensch ist.</p>
<p>P.S.: Es ist übrigens vollkommen ok, hier Fragen auf Englisch zu stellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308556</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 21 Mar 2013 19:28:52 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 20:29:37 GMT]]></title><description><![CDATA[<p>Hey Seppj,</p>
<p>ich finde du hast schon Recht. Aber wo bitte sind meine Beiträge unleserlich? Ich finde man kann sie sehr gut und ohne Probleme lesen und auch verstehen. Ich versuche immer meine Beiträge übersichtlich zu halten und so wenig wie möglich Fehler zu machen. Na klar gibt es hier und da ein paar orthographische Fehler aber das tut nichts zur Sache.</p>
<p>Solche Anmerkungen wie von Knivil lenken nur vom Thema ab und dadurch entstehen solche Diskussionen wie diese hier, die garnichts mit dem eigentlichen Thema zu tun haben. Dies war nie mein Ziel.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308566</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 21 Mar 2013 20:29:37 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 20:51:49 GMT]]></title><description><![CDATA[<p>Deswegen nutzt auch jeder static_cast&lt;&gt;...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308573</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 21 Mar 2013 20:51:49 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 21:13:50 GMT]]></title><description><![CDATA[<p>Wahrscheinlich Off topic, da ich langsam den Faden verliere:</p>
<p>1.) Es waren 4 Worte eingeleitet durch PS, die Diskussion hast du begonnen.</p>
<p>2.)</p>
<blockquote>
<p>Damit meinte ich die höchstmögliche Geschwindigkeit die man mit der template-Metaprogrammierung gewinnen kann.</p>
</blockquote>
<p>Also du moechtest alles mit TMP realisieren, damit du die Geschwindigkeit von TMP hast.</p>
<p>3.)</p>
<blockquote>
<p>Deswegen nutzt auch jeder static_cast&lt;&gt;...</p>
</blockquote>
<p>Mir faellt schwer, dass als Antwort irgendwie zu einem Beitrag zuzuordnen.</p>
<p>4.)</p>
<blockquote>
<p>es gibt ja in Deutschland niemanden der kein perfektes Deutsch kann</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2308577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308577</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 21 Mar 2013 21:13:50 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 21:12:04 GMT]]></title><description><![CDATA[<p>PS: Ironie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308578</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 21 Mar 2013 21:12:04 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Thu, 21 Mar 2013 21:38:44 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>1.) Es waren 4 Worte eingeleitet durch PS, die Diskussion hast du begonnen.</p>
</blockquote>
<p>Du hast mich damit angeregt etwas dagegen zu sagen .. du kannst nicht behaupten dass ich nur an der Diskussion schuld bin, außerdem spielt es keine Rolle mehr.</p>
<p>knivil schrieb:</p>
<blockquote>
<p>4.)</p>
<blockquote>
<p>es gibt ja in Deutschland niemanden der kein perfektes Deutsch kann</p>
</blockquote>
</blockquote>
<p>PS: Ironie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308581</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 21 Mar 2013 21:38:44 GMT</pubDate></item><item><title><![CDATA[Reply to Metaprogrammierung Frage on Fri, 22 Mar 2013 07:56:23 GMT]]></title><description><![CDATA[<p>Ach, deine Frage wurde doch toll beantwortet. Wenn es danach mal ein Bischen offtopic/meta wird, ist das doch kein Drama. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2308642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2308642</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Fri, 22 Mar 2013 07:56:23 GMT</pubDate></item></channel></rss>