Salut, je developpe actuelement en Dephi avec les Compos IBExpress 6.03, je voulais savoir si les Compos étaient assez efficasse au niveau Perf .
On fonctionne avec la 2.0.1 de Firebird.
Merci de vos Réponses / Conseils.
Salut, je developpe actuelement en Dephi avec les Compos IBExpress 6.03, je voulais savoir si les Compos étaient assez efficasse au niveau Perf .
On fonctionne avec la 2.0.1 de Firebird.
Merci de vos Réponses / Conseils.
fais une recherche sur composants Delphi Firebird
http://www.developpez.net/forums/sho...d.php?t=346453
n'est ce pas IBExpress qui se tourne résolument vers Interbase ? et de ce fait ne garanti plus la parfaite compatibilité avec FireBird
(les noms des composants sont tellement semblables et les annonces si nombreuses qu'on s'y perdrait )
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Désolé pour cette réponse Méga tardive mais je n'ai pu me connecter avant^^
J'ai bien vu le résultat du sondage, mais basé mon choix sur 18 votants.... c un peu risqué...
Si kelkun aurait un témoignage, ou des données vraiment contructives kan à la différence de perf entre ces composants.
Sachant que je devrais migrer mon appli avec le nouveau choix de composant, si kelkun a deja fait ce genre de migration je serais interessé par son avis ou ses conseils, technique / outils utilisées.
Merci
les plus complets sont FIBPLUS de chez www.devrace.com
mais il existe aussi UIB qui sont bien et tu peux trouver pas mal de support en français car ils sont made in France. Ils sont de plus gratuit.
Moi, j'utilisais et j'utilise toujours IBX (j'ai commencé mon appli a l'époque d'interbase open source...) et je n'ai rencontré aucuns problèmes mais on ne sais pas jusqu'a quand...(j'utilise actuellement Firebird 2.0.3)
et il en a d'autres : tu peux utiliser DBExpresse si tu veux un support multi base ou ADO si tu veux faire du .Net
Merci pour cette réponse rapide...je viens de faire des test de perf avec les IBX, et la dernière version de FIBPLUS...
Les résultats sont catastrophiques...
Test :
100000 INSERT
100000 UPDATE
100000 DELETE
IBX : 14,16,11 sec
FIBPLUS : 29,28,23 sec
Je ne comprend pas que des composants qui date de 2002 soient 2 fois plus performant que les derniers FIBPLUS ????????
tu utilises quel composant : TIBSQL pour IBX ?
Bon je vous en dit plus sur mes tests..
Je cherche à comprendre ...
pour les IBX j'ai utilisé IBSQL et les FIBPLUS TpFIBQuery...
La transaction IBX : read_committed,rec_version,nowait
La transaction FIBPLUS : write,nowait,read_committed,rec_version
le code pour mes tests : Ex INSERT
Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 IBTransaction1.CommitRetaining; Requete.Close; Requete.SQL.Clear; Requete.SQL.add('INSERT INTO TOTO (1,2,3,4,5) VALUES (:1,:2,:3,''TEST'',''TEST'')'); label1.Caption := timetostr(now); deb := now; for i := 0 to 10000 do begin Requete.ParamByName('1').AsString := inttostr(i); Requete.ParamByName('2').AsDate := date; Requete.ParamByName('3').AsTime := time; Requete.ExecQuery; end; label2.Caption := timetostr(now); label3.Caption := timetostr(now-deb); IBTransaction1.CommitRetaining;
voila ...je me doute que quelque chose ne va pas ...j'essais de comprendre ce que c'est...
tu fais quel test en premier ?
tu fais un restore de la base entre les deux ?
pourquoi utiliser cette anomalie qu'est le commit retain ?
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
Tout d'abord merci de vous interessez à ce sujet^^
En premier lieu je vide la Table..
j'execute mon bout de code avec le TIBSQL...je recupère les Temps.
Ensuite j'execute un Restore de la Base et j'execute ce bout de Code pour les FIBPLUS :
Pour les requetes elles sont faite avec 100000 Enregistrements, d'abord les INSERT, apres je fait 100000 UPDATE ou je viens mettre a jour le champ 3, ensuite les DELETE.
Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 pFIBTransaction1.CommitRetaining; pFIBQuery1.Close; pFIBQuery1.SQL.Clear; pFIBQuery1.SQLadd('INSERT INTO TOTO (1,2,3,4,5) VALUES (:1,:2,:3,''TEST'',''TEST'')'); label10.Caption := timetostr(now); deb := now; for i := 0 to 10000 do begin pFIBQuery1.ParamByName('1').AsString := inttostr(i); pFIBQuery1.ParamByName('2').AsDate := date; pFIBQuery1.ParamByName('3').AsTime := time; pFIBQuery1.ExecQuery; end; label11.Caption := timetostr(now); label12.Caption := timetostr(now-deb); pFIBTransaction1.CommitRetaining;
Quand au CommitRetaining, j'ai toujours utilisé cette instruction ...
Avant chaque paquet de Requetes dans mon developpement j'en fait un, si mon pack de modif base passe bien j'en refait un a la fin...et dans le cas ou il y a un problème pendant les requetes je gère dans un try except un RollBackRetaining.
Alors presonnes ne peut m'expliquer cette différe"nce de perf entre les FIBPLUS et les IBX ?
Merci
Faut croire que non
D'un autre coté, on ne va pas sur-investir sur ton souci qui n'est pas vraiment bloquant...
En plus, comme l'a déjà mentionné Makowski (ici ou dans un autre fil), on peut difficilement comparer des choses qui ne le sont pas.
En effet, la richesse des réglages offerts par FibPlus peut laisser penser que tu utilises une option par défaut qui pénalise tes traitements.
Par exemple, TpFIBQuery dispose d'une propriété AutoCommit, sur laquelle tu es muet ...
Dans la même veine : est-ce une version achetée de FibPlus ? Car une version "trial" peut comporter des limitations...
Donc, si tu veux à toutes forces avoir une explication, il vaudrait mieux solliciter le support DevRace.
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
Je comprend bien que l'on ne va pas mobiliser une équipe pour répondre à mes questions...mais je suis tout de meme en droit de me poser cette question qui me turlupine de plus en plus...
Je suis actuellement en charge d'un gros logiciel qui utilise Firebird, et pour se remettre un peu au gout du jour, j'ai decider de faire du ménage dans mon Code et les outils utilisés...
Voyant que les IBX n'étaient plus suivi depuis un petit moment, j'ai voulu réalisé ses tests pensant franchement qu'une serie de composant qui suis les évolutions de la version de firebird serait nettement plus performant que des compos qui datent de 2002. De plus, un jour les IBX ne seront peut etre plus compatble avec Firebird.
Concernant ma version de FIBPLUS c pour l'instant une version d'evaluation, je vais donc me mettre en contant avec Devrace pour savoir si elle serait bridée...concernant mon composant TpFIBQuery, TpFIBDatabase, TpFIBTransaction ils sont reglés de la meme façon que pour IBX..
Voila Affaire à suivre je vous tiendrais au courant si j'en apprend plus par Devrace
Ha ha... je ne sais pas quel type de bridage est mis en oeuvre par DevRace (while IDE is runing ?) mais on doit décemment pouvoir mettre sur ce compte une partie du différentiel observé...Concernant ma version de FIBPLUS c pour l'instant une version d'evaluation
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
Oui je penses également j'ai ouvert pris contact avec eux pour en savoir un peu plus ^^
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager