<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://oldwiki.funkfeuer.at/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://oldwiki.funkfeuer.at/index.php?action=history&amp;feed=atom&amp;title=Miscellaneous_improvements</id>
		<title>Miscellaneous improvements - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://oldwiki.funkfeuer.at/index.php?action=history&amp;feed=atom&amp;title=Miscellaneous_improvements"/>
		<link rel="alternate" type="text/html" href="https://oldwiki.funkfeuer.at/index.php?title=Miscellaneous_improvements&amp;action=history"/>
		<updated>2026-04-04T14:10:23Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in FunkFeuer Wiki</subtitle>
		<generator>MediaWiki 1.22.5</generator>

	<entry>
		<id>https://oldwiki.funkfeuer.at/index.php?title=Miscellaneous_improvements&amp;diff=8112&amp;oldid=prev</id>
		<title>Hannes am 24. November 2007 um 13:26 Uhr</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.funkfeuer.at/index.php?title=Miscellaneous_improvements&amp;diff=8112&amp;oldid=prev"/>
				<updated>2007-11-24T13:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* TU Wien lecture [http://tuwis.tuwien.ac.at/lva/tuwien/384090 &amp;quot;Verteilte systeme&amp;quot;], 20.4.2007 will present our ideas about optimizing complexity. Aaron also wants to adress more students from the TU to participate. DONE. Let's see if new participants want to join.&lt;br /&gt;
* finalize the UML test server&lt;br /&gt;
* try out the optimization ideas and document the speedup&lt;br /&gt;
* more cleanups&lt;br /&gt;
** olsrd is doing '''lots of''' &amp;lt;tt&amp;gt;malloc()&amp;lt;/tt&amp;gt;s and &amp;lt;tt&amp;gt;free()&amp;lt;/tt&amp;gt;s - use &amp;lt;tt&amp;gt;ltrace&amp;lt;/tt&amp;gt; to see this.&lt;br /&gt;
*** review &amp;lt;tt&amp;gt;malloc()&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;free()&amp;lt;/tt&amp;gt; if it theys are superflous and can be implemented with buffers on the stack or just moving pointers around.&lt;br /&gt;
*** are there very frequently &amp;lt;tt&amp;gt;malloc()&amp;lt;/tt&amp;gt;ed and &amp;lt;tt&amp;gt;free()&amp;lt;/tt&amp;gt;d ''struct''? Perhaps a free list can help to avoid lots of &amp;lt;tt&amp;gt;malloc()&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;free()&amp;lt;/tt&amp;gt; handling.&lt;br /&gt;
** we have several coding styles in there&lt;br /&gt;
** add wrappers to hide type casts for Windows (and perhaps others). Reserve some prefix (e.g. ''x'' is used for this often as in &amp;lt;tt&amp;gt;xmalloc()&amp;lt;/tt&amp;gt;, ''olsr_'' is IMHO quite long and there too many ''olsr_'' perfixed types and functions right now.)&lt;br /&gt;
** fixup error reporting/tracing/logging&lt;br /&gt;
** add synchronization and make the daemon multi-threading (e.g. the bmf plugin uses it right now, the httpinfo plugin could benefit from such a thing)&lt;br /&gt;
** make the parameter parsing of the plugins more consistent (some are case-sensitive, some are not, most do not check syntax errors). ''Work in progress''&lt;br /&gt;
** The incoming and outgoing packets are deserialized and serialized via pointers to packed ''struct''s. This is somewhat dangerous as other compilers or the same compielr for other architectures may or may not behave the same. And - '''worse''' - it misleads people to copy the same data various times around or play with pointers so no one can easily see ehat'e going on. I (Bernd) started with a more direct approach in src/lq_packet.c where we have one &amp;quot;unsigned char *&amp;quot; which walks sequentially through the incoming packet and gets the value with small inline functions into where one needs it later on - mostly some simple ''struct'' which is a normal C struct and used by the core code.&lt;br /&gt;
** '''net_outbuffer_push()'' memcpy()es the packet from the caller supplied buffer into another buffer. Well, that's one more copy operation for every outgoinf packet.&lt;br /&gt;
** ....&lt;/div&gt;</summary>
		<author><name>Hannes</name></author>	</entry>

	</feed>