<?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[design-frage &amp;quot;ergebniss-cache&amp;quot;]]></title><description><![CDATA[<p>folgendenes problem :</p>
<p>ich habe eine klasse</p>
<pre><code>class FFT
{

Vector&lt;double&gt; calc(const Vector&lt;double&gt;&amp; in);
}
</code></pre>
<p>und dazu ein paar Merkmalsextraktoren</p>
<pre><code>class FeatureExtractor
{
virtual Vector&lt;double&gt; calc_feature(const Vector&lt;double&gt;&amp; in) = 0;
}
</code></pre>
<p>bisher hat nur einer der Merkmalsextraktoren die FFT berechnet,<br />
und ich habe die FFT als Komposition in diesen Merkmalsextraktor eingefügt</p>
<p>doch nun wird wohl ein weiterer die FFT berechnen, und zwar<br />
&quot;vom selben input-vector!!!&quot;</p>
<p>ich wollte nun FFT als singleton nach sowas wie FFT_Server umbauen,<br />
und die ergebnisse dann cachen, hat jemand schonmal sowas programmiert?</p>
<p>Also man stellt dann anfragen an den Server für die Berechnung, und die FFT klasse schaut im internen cache nach, ob das Ergebniss schon vorliegt,<br />
und berechnet gegebenenfalls neu ...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/202331/design-frage-quot-ergebniss-cache-quot</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 18:06:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202331.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Jan 2008 09:07:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to design-frage &amp;quot;ergebniss-cache&amp;quot; on Thu, 10 Jan 2008 09:07:05 GMT]]></title><description><![CDATA[<p>folgendenes problem :</p>
<p>ich habe eine klasse</p>
<pre><code>class FFT
{

Vector&lt;double&gt; calc(const Vector&lt;double&gt;&amp; in);
}
</code></pre>
<p>und dazu ein paar Merkmalsextraktoren</p>
<pre><code>class FeatureExtractor
{
virtual Vector&lt;double&gt; calc_feature(const Vector&lt;double&gt;&amp; in) = 0;
}
</code></pre>
<p>bisher hat nur einer der Merkmalsextraktoren die FFT berechnet,<br />
und ich habe die FFT als Komposition in diesen Merkmalsextraktor eingefügt</p>
<p>doch nun wird wohl ein weiterer die FFT berechnen, und zwar<br />
&quot;vom selben input-vector!!!&quot;</p>
<p>ich wollte nun FFT als singleton nach sowas wie FFT_Server umbauen,<br />
und die ergebnisse dann cachen, hat jemand schonmal sowas programmiert?</p>
<p>Also man stellt dann anfragen an den Server für die Berechnung, und die FFT klasse schaut im internen cache nach, ob das Ergebniss schon vorliegt,<br />
und berechnet gegebenenfalls neu ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434144</guid><dc:creator><![CDATA[Treb]]></dc:creator><pubDate>Thu, 10 Jan 2008 09:07:05 GMT</pubDate></item><item><title><![CDATA[Reply to design-frage &amp;quot;ergebniss-cache&amp;quot; on Thu, 10 Jan 2008 09:36:43 GMT]]></title><description><![CDATA[<p>Prinzipiell ist sowas kein Problem. Die Frage ist nur, ob es sich lohnt. Berechnest Du denn wirklich sooo oft vom gleichen Vektor die FFT, dass es sich lohnt das zu cachen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434151</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Thu, 10 Jan 2008 09:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to design-frage &amp;quot;ergebniss-cache&amp;quot; on Thu, 10 Jan 2008 09:41:20 GMT]]></title><description><![CDATA[<p>die sache ist, das es einfacher ist,<br />
die berechnung der FFT innerhalb der benutzenden klassen zu ändern,<br />
als das ganze Interface abzuändern und die FFT Werte als Parameter<br />
mitzugeben,<br />
was dann noch dazu führen würde, das das interface hässlich wird,<br />
weil einige feature-extractors die fft nicht brauchen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434156</guid><dc:creator><![CDATA[Treb]]></dc:creator><pubDate>Thu, 10 Jan 2008 09:41:20 GMT</pubDate></item><item><title><![CDATA[Reply to design-frage &amp;quot;ergebniss-cache&amp;quot; on Thu, 10 Jan 2008 17:07:13 GMT]]></title><description><![CDATA[<p>Ich denke es wäre hier evtl. hilfreich etwas mehr über die eigentliche Anwendung zu erfahren.</p>
<p>Ansonsten, also ganze allgemein... würde ich einen Cache eher als eine Notlösung ansehen. Wenns anders auch geht (ohne zu langsam zu werden), dann würde ich es anders machen.</p>
<p>Bei den meisten Anwendungen sollte es nicht schwer sein einmal berechnete Daten zur späteren Wiederverwendung aufzubehalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434459</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 10 Jan 2008 17:07:13 GMT</pubDate></item><item><title><![CDATA[Reply to design-frage &amp;quot;ergebniss-cache&amp;quot; on Sat, 12 Jan 2008 08:41:23 GMT]]></title><description><![CDATA[<p>problembeschreibung :</p>
<p>von der sound-recorder-klasse kommt ein konstanter strom von ton-samples,<br />
dieser wird dann in den sound-pre-processor geleitet, welcher den<br />
stream in stücke hackt (und netterweise auch die lösung für mein problem liefert)</p>
<p>diese stücke werden dann an den feature-extractor geleitet, welcher<br />
auf ihnen merkmale berechnet (die anzahl und art der merkmale ist erst zur<br />
laufzeit bekannt)</p>
<p>manche merkmale brauchen zur berechnung nun die fourier-transformierte des ausschnitts, und manche nicht ...</p>
<p>zB.<br />
MFCC braucht fft,<br />
LPC nicht,<br />
entropie braucht fft,<br />
zero-crossing-rate nicht<br />
...</p>
<p>lösung war :</p>
<p>meine preprocessor-klasse liefert netterweise den time-stamp des sound-stücks mit, ich cache nun in der fft nur eine einzige transformatierte, und überprüfe ob die timestamps der anforderung und dem cache übereinstimmen</p>
<p>für interessierte, es geht um dieses projekt :</p>
<p><a href="http://www.trebnet.de" rel="nofollow">www.trebnet.de</a></p>
<p>alles sehr zeitkritisch, weil in echtzeit berechnet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435242</guid><dc:creator><![CDATA[Treb]]></dc:creator><pubDate>Sat, 12 Jan 2008 08:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to design-frage &amp;quot;ergebniss-cache&amp;quot; on Sat, 12 Jan 2008 15:00:45 GMT]]></title><description><![CDATA[<p>Ich würde das Puffern der FFT Daten entweder im &quot;sound pre prozessor&quot; machen oder im &quot;stream stück&quot;.<br />
Es in der FFT Klasse zu machen halte ich für ziemlich unsauber.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435436</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 12 Jan 2008 15:00:45 GMT</pubDate></item></channel></rss>