ZeosLib 7.2-Beta wurde veröffentlicht.

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
EgonHugeist
Beiträge: 93
Registriert: Di 17. Apr 2012, 22:41

Re: ZeosLib 7.2-Beta wurde veröffentlicht.

Beitrag von EgonHugeist »

Habe mir kurz den Postgres-Teil vom Github angeschaut....
Du was soll ich sagen, wenn ich mir die unmengen sinnloser String-Allocs, Format-Calls usw. ansschau... Sag mal wie/woran hast du die 1/3 "langsamere" gemessen? Selbst wenn du jedes Prepared-Stmt ohne Parameter an der Wand zerschellen läßt(permanetes wechseln der Strings in TZQuery/TZReadOnlyQuery o. so)... Schwer, sehr schwer zu glauben. Auch im emulierten-Mudus geht 7.2 Bahnen vorraus, auch wenn noch nicht alles da ist, wo ich es gerne hätte.

Bist du dir da wirklich sicher? Gäb es da was, wie ich einen tatsächlichen drop nachvollziehen könnte? Mein Tests zeigen mir auch in dem Fall mit egal für welche IDE andere Ergebnisse..
ZeosDevTeam

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: ZeosLib 7.2-Beta wurde veröffentlicht.

Beitrag von Christian »

Nein bin ich nicht, ich hab nur ne übers Netz betriebene Datenbank genommen und die alte vs neue Version verglichen.
Wenn ich nacher noch etwas list hab schau ich mir mal nen dump aller sqls an mit timestamps da müsste man eigentlich ganz gut nachvollziehn können was anders geworden ist. Ich hatte schonmal reingeschaut ohne zu vergleichen und hatte den Eindruck die neue schickt wesentlich mehr Metadaten Abfragen als die alte. Bei mir werden die Querys in Objekte gekapselt also erzeug ich ständig Querys neu wenn die dinger jetzt jedesmal 10 Metadaten Abfragen beim ersten .Open schcken dann könnte das auch erklären warums langsamer wird. Ist aber auch nicht verifiziert.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EgonHugeist
Beiträge: 93
Registriert: Di 17. Apr 2012, 22:41

Re: ZeosLib 7.2-Beta wurde veröffentlicht.

Beitrag von EgonHugeist »

Ja es ist eine Abfrage beim Open hinzugekommen. Die Daten jedoch, werden gespeichert und eine 2. Abfage ist nicht mehr notwendig.
Dies geschah, für ein Bugfix. Somit bin ich gezwungen, dieses Verhalten by default weiter laufen lassen zu müssen. Generell gilt zu sagen, daß das Holen der Feldnamen und Tablename (intern verwendet) noch nicht 100% optimiert ist. Ich könnte hier auch ein Prepared-Statment verwenden, habe es aber noch nicht implementiert, da as dann Probleme mit der pgBouncer-Lib gibt. Ich muß mir die Lib mal anschauen und testen, wie ich einen Unterschied zw. pgBouncer und libpg.dll feststellen kann, hatte jedoch noch keine Zeit dafür.
Das weiteren überlege ich einen Switch einzuführen, was das Holen dieser internen Metadaten unterdrückt. Siehe http://zeoslib.sourceforge.net/viewtopi ... 40&t=11174

Bezüglich deiner TimeStamps... Der alte Algorythmus mar zum K...beep.., meine Replacements für Time/Date/TimeStamp-Binrary wandlungen sind 50x schneller..
Im Großen und Ganzen sollte trotz der einen zusätzlichen Abfrage alles für PG wesentlich schneller gewurden sein.
ZeosDevTeam

Antworten