|
 |
 |
 |
|
|
c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Timo Sandmann
Datum: Do, 10.05.2007 10:50:10
In-reply-to:
<464181E6.2080803@xxxxxxxx>
References:
<000001c7919e$441ba070$fe78a8c0@mexpnew> <200705082347.22185.tevers@xxxxxxxxxxxxx> <36D6AF4E-4FC9-4EE9-89BA-ABB088EE652D@xxxxxxxxxxxxxxx> <200705082357.31569.tevers@xxxxxxxxxxxxx> <464181E6.2080803@xxxxxxxx>
Hi,
Am 09.05.2007 um 10:10 schrieb Benjamin Benz:
hier ein Vorschlag zum Procedere:
Thorsten committet den Ringpuffer demnächst in den devel-Zweig, dann
oder Torsten... 8-)
Mal ein anderer Gedanke, jetzt nicht direkt zur angesprochenen
Information anderer Verhalten über eine erfolgte Abgrunderkennung
(darum ging's ja ursprünglich), sondern etwas genereller:
Angenommen, wir könnten effizient (in erster Linie RAM-bezogen, aber
auch schneller als bei großen Blöcken) kleine Daten-Blöcke auf eine
MMC schreiben, sagen wir 32 oder 64 Byte (ohne dass die MMC davon
etwas mitbekommt, denn die meisten Karten können ja nur 512 Byte
große Blöcke verwalten), würde es dann Sinn machen, bei jedem
Verhaltensaufruf und Verhaltensende einen Eintrag (z.B. bestehend aus
Zeit, aktuelle Bot-Position und Richtung sowie Aufrufer) auf einen
Stack auf der MMC zu schreiben? Der letzte oder die letzten paar
Einträge könnten im RAM gecached bleiben (die letzten 32 Byte eben,
s.o.), so dass ein anderes Verhalten sehr schnell feststellen kann,
was direkt vor ihm geschah. Um weiter in die Vergangenheit zu
schauen, müsste das Verhalten einen oder mehrere kleine Blöcke von
der MMC lesen, was aber sehr effizient machbar ist (man kann ja
problemlos kleinere Blöcke als 512 Byte lesen). Kleinere Blöcke
deshalb, damit der RAM-Verbrauch akzeptabel bleibt.
Das Ganze würde leicht nachvollziehbar machen, welches Verhalten wann
lief und was bewirkt hat (im Wesentlichen die Änderung der Bot-
Position). Das ginge auch per LOG-Ausgabe, aber so könnte auch der
Bot selbst die Daten wieder einlesen und auswerten.
Lohnenswert darüber weiter nachzudenken oder Overkill?
Viele Grüße,
Timo
|
|
|