AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VerySimpleXML: Problem unter iOS?

Ein Thema von romber · begonnen am 20. Dez 2013 · letzter Beitrag vom 26. Dez 2013
Antwort Antwort
Seite 7 von 8   « Erste     567 8      
Insider2004
(Gast)

n/a Beiträge
 
#61

AW: VerySimpleXML: Problem unter iOS?

  Alt 22. Dez 2013, 15:07
Performed nicht schlecht bis jetzt:

XML file: ~220 KB

read write
MSDOM 2.5 18.6
ADOM 10.5 35.3
OmniXMLKluug 3.3 5.0
VerySimpleXML 1.0 1.0
AlcinoeXML Error

normiert, kleiner ist schneller.
  Mit Zitat antworten Zitat
creed steiger

Registriert seit: 2. Dez 2009
116 Beiträge
 
#62

AW: VerySimpleXML: Problem unter iOS?

  Alt 22. Dez 2013, 16:23
nativxml könnte man noch benchmarken


https://code.google.com/p/simdesign/...ib%2Fnativexml

http://www.simdesign.nl/xml.html
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#63

AW: VerySimpleXML: Problem unter iOS?

  Alt 22. Dez 2013, 16:31
Geht nicht. NativeXML ist völlig inkompatibel zu TXMLDocument.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.123 Beiträge
 
Delphi 12 Athens
 
#64

AW: VerySimpleXML: Problem unter iOS?

  Alt 22. Dez 2013, 17:25
Hier im Forum suchenhimXML ... in dem einem Unterverzeichnis liegen noch ein paar XML-Klassen anderer Entwickler.

Die "aktuellen" Version von himXML sind aber bis maximal D2006/TDE abwärskompatibel und das wird sich auch nicht ändern, da es einfach zu viel Aufwand ist, wenn man noch eine ordentliche Code-Struktur und nette RTL&Compiler-Features nutzen möchte.
Eine der Älteren bis D7 (ich glaub jemand verwendete die auch in D5).


Vielleicht wäre es auch einfacher, den einen Monster-string beim Laden einfach in mehrere kleine von z.b. 200er Länge zu zerhacken. Der Algo sollte das trotzdem fressen, da ja die nächste Line nachgeladen wird, wenn die alte abgearbeitet ist.
Du hast eigentlich Recht, das könnte man.
Delphi-Quellcode:
  // splitt long lines
  I := 0;
  while I < Lines.Count do
  begin
    if Length(Lines[I]) > 10000 then
    begin
      Lines.Insert(I + 1, Copy(Lines[I], 10000 + Low(string)));
      Lines[I] := LeftStr(Lines[I], 10000);
    end;
    Inc(i);
  end;

  for I := 0 to Lines.Count - 1 do
  ...
Angehängte Dateien
Dateityp: 7z VerySimpleXML.7z (10,0 KB, 7x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Dez 2013 um 23:11 Uhr)
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#65

AW: VerySimpleXML: Problem unter iOS?

  Alt 22. Dez 2013, 22:23
Zitat:
Delphi-Quellcode:
  // splitt long lines
  I := 0;
  while I < Lines.Count do
  begin
    if Length(Lines[I]) > 10000 then
    begin
      Lines.Insert(I + 1, Copy(Lines[I], 10000 + Low(string)));
      Lines[I] := LeftStr(Lines[I], 10000);
    end;
    Inc(i);
  end;

  for I := 0 to Lines.Count - 1 do
  ...
Das geht auf keinen Fall.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.123 Beiträge
 
Delphi 12 Athens
 
#66

AW: VerySimpleXML: Problem unter iOS?

  Alt 22. Dez 2013, 23:10
Noch nicht optimiert genug?

Delphi-Quellcode:
  // splitt long lines
  for I := Lines.Count - 1 downto 0 do
  begin
    if Length(Lines[I]) > 1000 then
    begin
      for I2 := Length(Lines[I]) div 1000 - 1 downto 0 do
        Lines.Insert(I + 1, Copy(Lines[I], (I2 * 1000) + Low(string), 1000));
      Delete(I);
    end;
  end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#67

AW: VerySimpleXML: Problem unter iOS?

  Alt 23. Dez 2013, 09:35
Naja, was gibts denn für ne *schöne* plattformübergreifende Alternative um auf das erste Zeichen im String zuzugreifen (etwa StringBuilder?) ohne Zerobased off zu verwenden?
Also

Delphi-Quellcode:
if (Length(Line) > 0) and (Line[1]='x') then
 bla
?
Wie wäre es damit?
Delphi-Quellcode:
if (Length(Line) > 0) and (Line[Low(Line)]='x') then
 bla
upps, hatten wir ja schon
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.123 Beiträge
 
Delphi 12 Athens
 
#68

AW: VerySimpleXML: Problem unter iOS?

  Alt 23. Dez 2013, 11:12
Delphi-Quellcode:
if Copy(MeineOrdentlichSprechendeVariable, 1, 1) = 'xthen // nääääää und würde in einem Benchmark gnadenlos ausscheiden
if LeftStr(MeineOrdentlichSprechendeVariable, 1) = 'xthen // nääääää
if FirstCharIs(MeineOrdentlichSprechendeVariable, 'x') then
if CharIs(MeineOrdentlichSprechendeVariable, 1, 'x') then
if (MeineOrdentlichSprechendeVariable <> '') and (MeineOrdentlichSprechendeVariable[1] = 'x') then
if (Length(MeineOrdentlichSprechendeVariable) > 0) and (MeineOrdentlichSprechendeVariable[1] = 'x') then
if (Length(MeineOrdentlichSprechendeVariable) > 0) and (MeineOrdentlichSprechendeVariable[Low(MeineOrdentlichSprechendeVariable)] = 'x') then
Cool, wie schnelle es so ausssieht, daß man mehr und damit natürlich auch "besseren" Code geschrieben hatt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
cydo

Registriert seit: 6. Sep 2006
28 Beiträge
 
#69

AW: VerySimpleXML: Problem unter iOS?

  Alt 24. Dez 2013, 14:47
So. ich hab jetzt erstmal den bestehenden alten Code (noch nicht mit high/low) auf Google Code eingecheckt http://code.google.com/p/verysimplexml/, als Ziel würde ich auf eine 2.0 hinarbeiten, die Cross-Plattform für iOS/Android/MacOSX/Win32/Win64 unterstützt. Weiterhin sollte die Unit klein und überschaubar bleiben - soll jeder anpassen wie er mag. Für Erweiterungen wie Node.AsInteger/AsFloat/etc. würde ich eine zweite Unit vorschlagen, die per Helperclass einige Funktionen nachrüstet - gerade bei AsDateTime wirds spannend (sprich: lang) wie himitsu angemerkt hat. Daher würde dies einfach in eine Helperclass packen, da kann dann auch jeder einfacher was ändern.

Ihr seid wirklich herzlich gerne eingeladen, eure Änderungen am Code einzuchecken. Ich werde erst die nächsten Tage dazukommen, dann fange ich mit High/Low für die Strings an.
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#70

AW: VerySimpleXML: Problem unter iOS?

  Alt 24. Dez 2013, 14:58
Sehr schön. Ich würde allerdings erst Mal vorschlagen, dass man die Fehler beseitigt, bevor noch mehr Features eingebaut werden. Vielleicht auch mit Stabilisierungs- und Entwicklungs-Branch.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 8   « Erste     567 8      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz