Site Announcements

Liebe Gäste des Forums, wir freuen uns, dass ihr zu uns gelangt seid.
Windev ist eine sehr umfangreiche und starke Entwicklerumgebung für Anwendungen unter Windows, Linux und Internetapplikationen inkl. Mobile.
Hier sind Antworten und Anregungen dazu zu finden!
Möchtest du aktiv mitschreiben? Dann melde dich durch Klick auf den Text "Registrieren" hier rechts oberhalb an.

Performance HyperFile vs XBase++

Alles was nicht in ein Thema zuordnungsbar ist

Performance HyperFile vs XBase++

Beitragvon Herbert » 17. Mai 2011, 15:05

So, ich habe nun genügend Daten konvertiert und dieselberechenintensive Funktion umgeschrieben, so dass 1:1 verglichen werden kann.
Die Zahlen (in sec) basieren auf einem Durchschnitt von je 5 Messungen. Der Streubereich war sehr klein (max. 0.10 sec).
Die Berechnungen sind nicht wissensschaftlich zusammengestellt. Es wird in 3 Tabellen geschrieben, aus deren 6 gelesen (aus 1 Tabelle sehr tiefgehend) und 400 mal durchlaufen.
Hyperfile SQL (.FIC-Dteien) vs. XBase++-Dateien (.DBF-Dateien) ohne ADS.

Code: Alles auswählen
Was                              Hyperfile            XBase             Faktor
Alleine auf Client                 1.66                 2.14               0.78
Alleine auf Client mit
Daten auf Server                   3.18                 4.16               0.76     
2. Platz mit denselben
Daten auf Server                   8.21                39.84               0.20     

Faktor Client zu Server            1.91                 1.94
Faktor Server/Server zu 2.         2.58                 9.57               0.26       

Windev mi Hyperfile benötigt nur 3/4 der Zeit.
Xbase im Netz bei gemeinsamer Nutzung ist zusätzlich fast 4 mal langsamer. Das war und ist ja immer noch mein Problem. Trotz gesetzter Registry-Keys.
Herbert
Site Admin
 
Beiträge: 348
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Performance HyperFile vs XBase++

Beitragvon BRANDELH » 18. Mai 2011, 22:23

Hallo Herbert,

ich bin mir noch nicht sicher ob ich die Zahlen richtig verstanden habe, vermutlich liegt das daran, dass die proportional verschoben sind ;-)
Solche Aufstellungen setze ich immer in CODE Tags, ist zwar kein Code, aber sauber untereinander formartierbar ;-)
BRANDELH
Site Admin
 
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Has thanked: 0 time
Have thanks: 2 times

Re: Performance HyperFile vs XBase++

Beitragvon Herbert » 19. Mai 2011, 08:56

Ja klar, recht hast du. Habs angepasst.
Herbert
Site Admin
 
Beiträge: 348
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Performance HyperFile vs XBase++

Beitragvon klammerauf » 20. Mai 2011, 13:41

Gabs bei Xbase++ nicht mal Bemühungen ein Standard-Prog für Benchmarks zu erstellen? Sowas wäre wirklich nützlich, gerade auch im Vergleich Xbase++ vs. HyperFile, jeweils Standard vs. Client-Server, auch vs. ADS/MySQL/MS-SQL Server/Oracle/usw.

Wenn es das noch nicht gab, wie könnte so ein Prog aussehen? Was sollte dabei sein? Ich spreche hier jetzt hauptsächlich von Datenbankoperationen, also z.B.

  • XTausend Sätze anfügen
  • Alle Sätze indizieren
  • Filter/Select auf bestimmten Wert
  • gefilterte Sätze in eine neue Table exportieren

Wer hat Ideen dazu?

Sebastian
--
http://arnoldconsult.de
WinDev 21 mit Oracle und MySQL, WinDevMobile Android Apps und Motorola Windows CE Mobile Barcode Scanners, Python 3 mit Oracle, SQLite und MySQL
klammerauf
Member
 
Beiträge: 109
Registriert: 28. November 2010, 15:11
Wohnort: bei Karlsruhe
Has thanked: 4 times
Have thanks: 2 times

Re: Performance HyperFile vs XBase++

Beitragvon BRANDELH » 20. Mai 2011, 14:07

Hi,

ich habe vor Jahren mit SQLExpress und Xbase++ getestet wie 500.000 Datensätze eingelesen werden im Vergleich zu einer lokalen DBF.
Dieses ist aber sichlich eher untergeordnet von Bedeutung, weil es kaum häufig vorkommt.
Die meisten werden sich dafür interessieren, wie sich eine 5 bis 10 User (PCs) Anwendung mit verteilten Zugriffen auf eine im Netz gesharte DBF gegen HyperSQL File schlägt. Dann im Vergleich zu Client-Server auf HyperFileSQL, MySQL und PostGreSQL ...

In diesem Zusammenhang müsste man dann auch prüfen, ob Datensätze "verschwinden", doppelte "eindeutige" Schlüssel vorkommen und was man tun muss um Probleme zu beherrschen ...
BRANDELH
Site Admin
 
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Has thanked: 0 time
Have thanks: 2 times

Re: Performance HyperFile vs XBase++

Beitragvon klammerauf » 24. Mai 2011, 09:01

Hubert, ich wollte die Performance testen, nicht die Zuverlässigkeit.

Ich muss dir da auch widersprechen, was das Thema 'Die meisten werden sich dafür interessieren...' angeht. Einen Zugriff auf gesharte DBFs im Netzwerk sind heutzutage doch so normal, dass 'die meisten' gar nicht darüber nachdenken. Außerdem sprichst du auch von MySQL und PostGreSQL, da macht man sich als Xbasler mit derartigen Problemen wie doppelt vergebene eindeutigen Schlüsseln und verschwundenen Datensätzen doch nur lächerlich. Davon abgesehen, die letztgenannten Systeme würden ja eh keinen 'gesharten' Zugriff in der Art und Weise von Xbase erlauben.

Meiner Meinung nach interessieren sich die meisten dafür, warum sie oftmals vor ihrem Rechner sitzen und auf ein Programm warten müssen und warum das nicht schneller gehen kann. Denn es gibt tatsächlich manche Programmroutinen mit Datenbankzugriffen, die etliche Minuten, wenn nicht gar Stunden dauern. Und auch hier muss ich dir widersprechen, meiner Erfahrung nach gibt es etliche Programme/Firmen/Einzelfälle, in denen das häufig vorkommt.

Zusätzlich muss ich noch mein entsetztes Bedauern äussern, dass es tatsächlich noch Firmen geben soll, bei denen '5 bis 10 User (PCs)' ohne ein Client/Server Datenbankmodell arbeiten.

Sebastian
--
http://arnoldconsult.de
WinDev 21 mit Oracle und MySQL, WinDevMobile Android Apps und Motorola Windows CE Mobile Barcode Scanners, Python 3 mit Oracle, SQLite und MySQL
klammerauf
Member
 
Beiträge: 109
Registriert: 28. November 2010, 15:11
Wohnort: bei Karlsruhe
Has thanked: 4 times
Have thanks: 2 times

Re: Performance HyperFile vs XBase++

Beitragvon BRANDELH » 24. Mai 2011, 15:08

Hallo Sebastian,

bist du heute mit dem falschen Fuß aufgestanden ? :huh:

Wenn ich von 'Die meisten...' schreibe, meine ich Entwickler, keine Endanwender die '... interessieren sich die meisten dafür, warum sie oftmals vor ihrem Rechner sitzen ...' vor schlechten Programmen sitzen. Ansonsten ist es schon interessant die Zugriffstechniken gegenseitig zu vergleichen, gesharte DBF (eine Nische der Xbase++ und Foxpro Entwickler) gegen PostgreSQL oder MySQL mit Xbase++ 2.0 (sobald verfügbar) oder SQLExpress (mit dem habe ich vor Jahren experimentiert) und weil wir hier ja im WinDev Forum sind, auch gegen gesharte HyperFileSQL und Client/Server ...

PS: Einige meiner Anwendungen laufen mit 10 bis 15 Anwendern auf Terminalserver und gesharten DBF, das geht schon wenn das Netzwerk stimmt und einen SQL Server hätte ich nie durchsetzen können.
BRANDELH
Site Admin
 
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Has thanked: 0 time
Have thanks: 2 times

Re: Performance HyperFile vs XBase++

Beitragvon klammerauf » 24. Mai 2011, 15:10

Sorry, sollte nicht so böse klingen, wie es aussieht.
klammerauf
Member
 
Beiträge: 109
Registriert: 28. November 2010, 15:11
Wohnort: bei Karlsruhe
Has thanked: 4 times
Have thanks: 2 times

Re: Performance HyperFile vs XBase++

Beitragvon BRANDELH » 24. Mai 2011, 15:20

Ich hatte meine Antwort noch etwas ausgebaut ...

Im Xbase Forum habe ich vor Jahren geholfen ein Programm im fast Stundenbereich auf Minuten zu drücken,
der Entwickler hatte nur erlaubte Befehle genutzt, aber die Schleife nicht optimiert. :sleepy:
BRANDELH
Site Admin
 
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Has thanked: 0 time
Have thanks: 2 times

Re: Performance HyperFile vs XBase++

Beitragvon Herbert » 24. Mai 2011, 18:02

Dem Optimieren von Code wird generell zu wenig Beachtung geschenkt. Neben den unglaublichen Dingen wie Listboxen mit über 100'000 Einträgen zu füllen usw.
Genau deswegen habe ich eine Routine gewählt, die liest und schreibt und loopt. Eben das Durchschnittliche Bearbeiten, um einigermassen aussagekräftige Werte als Vergleichsbasis zu erhalten. XBase im Netz ist (das wusste man ohnehin schon) einfach viel zu langsam.

Client-Server versus gesharte Tabellen ist hingegen ein ganz anderer Ansatz.
Herbert
Site Admin
 
Beiträge: 348
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Performance HyperFile vs XBase++

Beitragvon Herbert » 8. Juni 2011, 12:33

Nach einigen kleineren Anpassungen bin ich beim Faktor 2 (resp. 0.5) angelangt. Eine Funktion in Windev spulte noch sequentiell durch eine Tabelle und läuft nun auch über einen Index wie in xbase bereits der Fall war. Also: schnell und stabil trotz mehr Anzeige-Schnick-Schnack.

Code: Alles auswählen
Alleine auf Client alt          1.66                 2.14               0.78
Alleine auf Client neu          1.14                 2.14               0.53
Herbert
Site Admin
 
Beiträge: 348
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times


Zurück zu Verschiedenes

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron