Seite 1 von 1

Xbase++ schneller als harbour

Verfasst: Do, 03. Okt 2013 6:09
von AUGE_OHR
wenn es um low Level Function / String "zerlegen" geht scheint Xbase++ sehr schnell zu sein :!:

die GPX Datei ist 740Kb gross und ich lese mit

Code: Alles auswählen

nReadBytes   := FREAD (nFilehandle,@m_puffer,1)
jeweils nur 1 Zeichen bis ich den Inhalt, zwischen 2 Tags, habe und bearbeite ihn dann mit SUBSTR() und STRTRAN().

Xbase++ benötigt nur 3.72 Sec. während harbour 5.27 Sec. für 7955 Elemente braucht.

Re: Xbase++ schneller als harbour

Verfasst: Fr, 04. Okt 2013 12:24
von brandelh
Was Geschwindigkeit angeht schwöre ich ja immer auf PowerBasic (C++ kann ich nicht), musste aber feststellen, dass die einfache Schleife:
(code aus dem Gedächtnis)

Code: Alles auswählen

quelle ... 9000000 Zeichen aus Datei einlesen
nLen = len(quelle)
cZiel = ""
for x = 1 to nLen
     cZiel += Char2Hex(quelle[x])
next
bei Xbase++ in etwa 5 Sekunden einen neuen String mit 18.000.000 HEX (00-FF) Zeichen erzeugt, PowerBasic mit gleichem Befehl startet schnell,
wird aber nach einigen Tausend Zuordnungen unerträglich langsam.
Dort muss ich den completten Platz auf einmal reservieren und nur noch die Zeichen in den gleichen Strings tauschen.
Das ist natürlich auch hier die elegantere Version, aber "Hut ab" vor der Stringverarbeitung in Xbase++ :!: