VB VS DELPHI : LE VERDICT

Messages postés
662
Date d'inscription
mercredi 16 janvier 2002
Statut
Modérateur
Dernière intervention
16 octobre 2010
- - Dernière réponse : Whismeril
Messages postés
13965
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 novembre 2019
- 8 févr. 2017 à 14:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/3584-vb-vs-delphi-le-verdict

Afficher la suite 
fredlynx
Messages postés
662
Date d'inscription
mercredi 16 janvier 2002
Statut
Modérateur
Dernière intervention
16 octobre 2010
-
Bonjour :)
Je ne connais pas delphi, j'avoue... mais j'ai quelques remarques faire sur ton Code !
La premire est au sujet du dimentionnement des Variables... c'est vrai qu'il est plus facile de programmer sans s'en soucier
mais si tu fais un chti "effort" a vaut le coup!
Deuxime chose... le Doevents est trible... mais dans ton cas il est triblement lent, because il "oblige" le rafraichissement de la textBox
donc par rapport Delphi tu perds un temps considrable !!!
Voil ce que je fait ta place ...
Nota j'ai fait le test sous VB5 :) sans toucher franchement au code juste quelque dimentionnements ... et un rem devant le doevents
parce que si tu utilises doevents tu ne peux pas franchement comparer des vitesses...
Sur ma machine le projet compil que tu as donn donne 16,9 Secondes ... le code Modifier donne 0,39 Seconde ... pas trop mal comme gain de temps

Private Sub Command1_Click()
Dim iDStart As Integer
Dim iDStop As Integer
Dim i As Integer
Dim j As Integer
Dim Chaine As String
iDStart = Val(Text3.Text)
iDStop = Val(Text1.Text)

Chaine = ""
stop = False
On Error Resume Next
nb = 0
t = Timer
Text2.Text = ""
On Error Resume Next
For i = iDStart To iDStop
prem = True
If i 2 Then prem False
For j = 2 To i - 1
If i Mod j 0 Then prem False
Next j
If prem True Then Chaine Chaine + CStr(i) + ";": nb = nb + 1
'DoEvents 'scurit pour pas faire planter votre pc
On Error Resume Next
If stop = True Then Exit For
Next i
Text2.Text = Chaine
Label1.Caption = Timer - t
Label6.Caption = nb
End Sub
cs_piwee
Messages postés
34
Date d'inscription
lundi 10 juin 2002
Statut
Membre
Dernière intervention
20 octobre 2009
-
Pour Delphi, le doevent est "application.processmessage" si je me souviens bien.
cs_Crazyht
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
4 -
Bon Delphi est peu etre plus rapide mais essaye de faire la meme chose en VB.Net tu vera que Delphi n'est plus aussi performant par rapport a VB.Net et puis voila Vb est tres lent a partir du moment on l'on ne fait pas un effort pour dimensionner les variables correctement.

@++
Crazyht
cs_Mercury
Messages postés
329
Date d'inscription
jeudi 3 janvier 2002
Statut
Membre
Dernière intervention
7 octobre 2005
-
Il est clair que pour ceux qui ont débuté en programmation avec VB, le passage à Delphie peut être assez dur. La syntaxe est nettement différente, car plus complexe. Toutefois, et comme tu le soulignes dans ton descriptif, Delphi est environ 10 fois plus rapide dans le traitement de bit code, et ne nécessite aucun runtime. De nombreux avantages qui font de Delphi un sérieux concurrent de VB.
cs_koko
Messages postés
654
Date d'inscription
lundi 14 janvier 2002
Statut
Membre
Dernière intervention
20 février 2005
-
c juste une question d'habitude... perso, j'ai pas trop (jamais) programmer en vb mais beaucoup en delphi et je trouve le vb plus difficile. Mais je rappelle c une question d'habitude...