Vitesse d'exécution prog. VB6

Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011 - 30 janv. 2009 à 19:59
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011 - 31 janv. 2009 à 22:21
Bonjours à tous,
voilà,
j'ai un programme vb6 qui vire sur windows xp pro, sur un ordinateur assez vieux,
dont le processeur est un 3.4 GHz avec 2 Go de Ram.

j'ai le même programme qui vire sur windows xp pro, sur un ordinateur plus récent,
dont le processeur est un double coeur 2.66Ghz avec 2 Go de Ram.

Pourquoi donc sur l'ordinateur plus récent et plus performant (double coeur)
la vitesse d'exécution est plus longue.

Est-ce à cause que mon programme utilise seulement un coeur?

Si oui, existe-il un API pour VB6 pour utiliser les 2 coeurs ?

Gnain!

6 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
30 janv. 2009 à 20:11
Salut cousin
Je ne suis pas un spécialiste, mais je pense que VB6 ne sait pas gérer le multi-thread (*), il ne peut donc tourner (virer, comme tu dis) que sur un processeur.
La vitesse du double-coeur étant plus faible, il tourne moins vite, logique.

(*) Le multi-threading est une véritable usine à gaz. En fait, du doit pouvoir lancer un autre process depuis le premier en désignant le processeur, mais après ce sont des problèmes de synchronisation entre les programmes.
Faudrait appronfindir, je n'ai vu ça que de loin.

Bel hiver à Sainte-Marie ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011
30 janv. 2009 à 20:29
Est-ce que vb.net le gère ?

Gnain!
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 7
30 janv. 2009 à 20:35
Bonsoir,

Ne croyant personnellement pas trop en une différence vraiment notable de vitesse d'exécution d'un programme "normal" entre deux horloges aussi rapides (3.4 et 2.6 GHz) et la même ram, je me/te pose quelques questions :
- ton appli traite-t-elle également des graphiques et leur affichages ? et si oui, quelles sont les cartes graphiques utilmisées sur l'une et sur l'autre des deux machines ?
- t'es-tu bien assuré de comparer ce qui est rigoureusement comparable (la charge de la mémoire de tes 2 machines au moment de la comparaison de vitesse d'exécution ?
0
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011
30 janv. 2009 à 21:00
En gros mon programme ouvre une base donnée, la lie, et la referme,fait ses calculs selon quelques variables et affiche les résultats dans un listbox.
Après quelque autre fonction, ouvre la bdd, écriture dans bdd et la referme.

-la base de donnée est local et non en réseau.

Il y a environ 12 secondes de différence en lecture dans bdd et aussi en écriture.

Merçi de votre attention

Gnain!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
31 janv. 2009 à 12:38
Re
12 sec, c'est court et c'est long à la fois !
12 sec par rapport à quoi, quelle durée totale ?

Tu dis que ta base est locale :
Quelle est le pourcentage de saturation du disque dur ?
Les disques surs sont-ils propres, défragmentés ?
Les disques surs ont-ils la même technologie (IDE/SATA, Taille du buffer de lecture/écriture, vitesse) ?

Tous ces paramètres peuvent influencer ce genre de gestion lorsqu'il s'agit de gros volume de données.
Donc dis nous aussi la taille de ta DB (en octets et/ou enregistrements traités)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011
31 janv. 2009 à 22:21
Merçi de vos réponses,
mais je crois qu'on s'éloigne du sujet que je voulais discuter,
oui bien sur je sais qu'une différence de matériel (disque dur IDE/SATA, Taille du buffer de lecture/écriture, vitesse) etc. peuvent influencer la vitesse, mais mon objectif était d'apprendre à programmer en vb6 pour un ordinateur multi-coeur.

Ok vb6 ne sait peut-être pas le gérer comme le dit Jack.
ma question maintenant est-ce que vb.net peut le gérer.

Une autre question me vient,
S'il n'existe pas de code VB pour utiliser plus de un coeur, à quoi bon de continuer de programmer en VB car la direction qu'a prit la technologie est dans ce sens.

J'ai trouvé sur le net que le language C++ avait un code pour utiliser le multi-coeur. N'ayant pas trouver l'équivalent pour VB j'esperais quand posant la question sur ce site, je trouverais l'équivalent. Mais bon je me doutais bien que VB6 ne le gérait pas.

Je continue à chercher, si je trouve je vous en fait part.

Gnain!
0