Re: Bedingte Abfragen in Abfragen...
- From: Matthias Schramm <matthias.schramm@xxxxxx>
- Date: 07 Oct 2008 20:32:48 GMT
Hallöchen!
Am Tue, 07 Oct 2008 21:23:48 +0200 schrieb Georg Bauhaus:
Matthias Schramm wrote:
Letzten Endes wäre für dieses Problem aber die Implementation von
Strings des guten alten Pascals am schnellsten. Einfach die aktuelle
Länge immer als Wert mit schleifen. Dann kann man die auch direkt mit
einander vergleichen. Einziger Nachteil ist halt eine maximale Länge.
Die Länge eines mit char* adressierten strings scheint mir auch
begrenzt, nämlich durch die jeweilige "Reichweite" von char*. Wenn ein
string statt mit char* mit Hilfe eines Pascal-artigen Konstrukts
implementiert wäre, ähnlich wie struct {
ptrdiff_t len;
char * data;
}, dann spielt vermutlich die Parameter-Übergabe eine Rolle. Größe und
Struktur eines "Pascal-strings", die pro Aufruf an eine string-Funktion
übergeben werden müssten, wären anders. Damit kommen die Anzahl der
Parameter und die verfügbaren Register der CPU zum tragen, usw., schätze
ich. Allzu schlimm wirds vielleicht nicht sein.
Da lässt sich wahrscheinlich wieder vortrefflich drüber streiten!
Immerhin kommt die C-Variante Streams und Stringmanipulationen sehr
entgegen.
In der Pascalvariante müsste dir der String in voller Länger vorher
bekannt sein, damit du seine Länge *vorher* übermitteln kannst.
In der C-Konvention brauchst einfach nur Zeichen für Zeichen zu schreiben.
Wenn Du einen String sequenziell abarbeiten möchtest, dann musst Du in
der pascalischen Version leider auch immer die Anzahl der schon fertigen
Zeichen mitschleifen.
Ein anderes Beispiel wäre das Tokenizing. In C brauchst du bloß alle
Trennzeichen durch Null-Zeichen zu ersetzen und die Pointer auf die
einzelnen Startstellen zurück liefern. In Pascal müsstest Du
wahrscheinlich anfangen die Teilstring im Speicher hin und her zu
schieben, um den Platz für die Größenangabe her zu stellen, oder hast im
Fall von ASCII maximal eine Länge von 255 Zeichen.
Vorteil bei der Pascalischen Version ist jedoch das leichtere Laden von
Strings aus einer Datei, da Du einfach erstmal nur Größe auslesen und
danach entsprechend Speicher anlegen kannst.
MfG
Matjes
.
- Follow-Ups:
- Re: Bedingte Abfragen in Abfragen...
- From: Georg Bauhaus
- Re: Bedingte Abfragen in Abfragen...
- References:
- Bedingte Abfragen in Abfragen...
- From: Roland Damm
- Re: Bedingte Abfragen in Abfragen...
- From: Marcel Müller
- Re: Bedingte Abfragen in Abfragen...
- From: Matthias Schramm
- Re: Bedingte Abfragen in Abfragen...
- From: Marcel Müller
- Re: Bedingte Abfragen in Abfragen...
- From: Matthias Schramm
- Re: Bedingte Abfragen in Abfragen...
- From: Georg Bauhaus
- Bedingte Abfragen in Abfragen...
- Prev by Date: Re: Bedingte Abfragen in Abfragen...
- Next by Date: Re: Bedingte Abfragen in Abfragen...
- Previous by thread: Re: Bedingte Abfragen in Abfragen...
- Next by thread: Re: Bedingte Abfragen in Abfragen...
- Index(es):
Relevant Pages
|