Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1202 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Performances Visual Basic 6 sous Windows NT 4

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Performances Visual Basic 6 sous Windows NT 4

n°740233
mareek
Et de 3 \o/
Posté le 26-05-2004 à 15:44:54  profilanswer
 

Bonjour,
 
Dans le cadre de notre projet développé en Visual Basic 6 (SP5), nous avons constanté des problèmes de performances sous Windows NT 4 qui ne se produisaient pas sous d'autres OS.
Suite à la découverte de ce problème nous avons procédé à des tests. Le code ci-dessous a été exécuté sur la même machine et sur chacun des systèmes d'exploitation suivants : Windows 98 SE, Windows NT 4 SP6, Windows 2000 Server SP 4 et Windows XP SP1.
Les performances sont très dégradées sous Windows NT. Sur les autres OS, elles sont à peu prêts acceptables  et équivalentes :
- Sous Windows NT, la "msgbox" affiche 26 secondes !
- Sous tous les autres OS, le temps est d'une seconde environ.
Nous avons ensuite testé le code ci-dessous en utilisant des tableaux à la place des collections, le constat est le même : performances exécrables sous Windows NT 4.
Je voudrais savoir s'il y a une cause connue à ce problème sous NT et si éventuellement il existe une solution pour y remédier
 
Merci d'avance pour vos réponses
 

Code :
  1. ---------------------------------------------------
  2. MyObjet.cls
  3. ---------------------------------------------------
  4. Option Explicit
  5. Public sData As String
  6. ---------------------------------------------------
  7. Module1.bas
  8. ---------------------------------------------------
  9. Option Explicit
  10. Sub Main()
  11.     Dim i As Long
  12.     Dim obj As MyObjet
  13.     Dim oColl As Collection 'We used arrays instead of collections here and get the same results
  14.    
  15.     Dim timer1 As Single
  16.    
  17.     Set oColl = New Collection
  18.    
  19.     timer1 = Timer
  20.     For i = 0 To 100000
  21.         Set obj = New MyObjet
  22.         obj.sData = " "
  23.         oColl.Add obj
  24.     Next
  25.     timer1 = Timer - timer1
  26.    
  27.     MsgBox timer1
  28. End Sub



---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
mood
Publicité
Posté le 26-05-2004 à 15:44:54  profilanswer
 

n°740312
drasche
Posté le 26-05-2004 à 16:17:29  profilanswer
 

franchement, j'ai pas d'idée, et j'ai pas encore vu un truc qui ressemble à ça sous google :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°740316
skeye
Posté le 26-05-2004 à 16:22:43  profilanswer
 

Mêmes versions de tous les ocx et autres machins?

n°740318
mareek
Et de 3 \o/
Posté le 26-05-2004 à 16:22:47  profilanswer
 

t'as jamais rencontré ce genre de pb ? parce que l'écart entre NT et les autres windows est quand même impressionnant :/


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°740320
drasche
Posté le 26-05-2004 à 16:23:55  profilanswer
 

bin j'ai bossé un certain temps en VB6 sous NT mais c'était il y a 4 ans, donc pas les mêmes versions que tu utilises [:spamafote]
 
J'ai franchement rien vu de ce genre :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°740322
mareek
Et de 3 \o/
Posté le 26-05-2004 à 16:25:36  profilanswer
 

skeye a écrit :

Mêmes versions de tous les ocx et autres machins?


Comme tu peux le voir dans le code, on n'utilise aucun OCX, juste les fonctions VB de base. on installe ça sur une config vierge via un package fait avec l'assistant empaquetage et déploiment.
 
 
P.S. ça ne vient pas d'une install spécifique de Windows NT puisque ce problème nous a été remonté par des clients qui tournaient sous NT et qui rencontraient des problèmes de lenteur assez invivables.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°740326
mareek
Et de 3 \o/
Posté le 26-05-2004 à 16:28:01  profilanswer
 

drasche a écrit :

bin j'ai bossé un certain temps en VB6 sous NT mais c'était il y a 4 ans, donc pas les mêmes versions que tu utilises [:spamafote]
 
J'ai franchement rien vu de ce genre :/


Le problème c'est que ça passe assez inaperçu tant qu'on ne fait pas de bench ou qu'on ne tombe pas sur ce cas précis (charger un grand nombre d'objets et les stocker dans une collection/tableau) dans son code. :/


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°740365
drasche
Posté le 26-05-2004 à 16:52:03  profilanswer
 

au fait, vous chargez autant d'objets en mémoire? c'est bien nécessaire?
 
Sinon j'ai pensé à un bug d'allocation mémoire comme il y en avait un sur le SP1 de Windows XP (corrigé depuis) et que j'ai vu en action sur un tabletpc qu'on m'avait prêté et c'était très très très lent alors que je n'allouais qu'une centaine de contrôles au maximum [:totoz]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°740370
mareek
Et de 3 \o/
Posté le 26-05-2004 à 16:54:58  profilanswer
 

drasche a écrit :

au fait, vous chargez autant d'objets en mémoire? c'est bien nécessaire?


non, on fait ça pour le plaisir :o
Evidemment que c'est nécessaire banane, le prblème serait réglé si ce n'était pas le cas.
 

drasche a écrit :


Sinon j'ai pensé à un bug d'allocation mémoire comme il y en avait un sur le SP1 de Windows XP (corrigé depuis) et que j'ai vu en action sur un tabletpc qu'on m'avait prêté et c'était très très très lent alors que je n'allouais qu'une centaine de contrôles au maximum [:totoz]


C'est une piste, faudrait qu'on teste avec d'autres service pack [:figti]


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°740392
drasche
Posté le 26-05-2004 à 17:06:36  profilanswer
 

bin cent mille objets quoi, ton appli en production place cent mille objets en mémoire? Je me suis fait tanner quand j'ai raconté ça à quelques programmeurs VB de ma boîte :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
mood
Publicité
Posté le 26-05-2004 à 17:06:36  profilanswer
 

n°740400
mareek
Et de 3 \o/
Posté le 26-05-2004 à 17:09:18  profilanswer
 

drasche a écrit :

bin cent mille objets quoi, ton appli en production place cent mille objets en mémoire? Je me suis fait tanner quand j'ai raconté ça à quelques programmeurs VB de ma boîte :D


C'est un cas extrème, mais on reste dans cet ordre d'idée (plusieurs dizaines de milliers d'objets) [:spamafote]


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°740442
drasche
Posté le 26-05-2004 à 17:33:43  profilanswer
 

A votre place, je bosserais là-dessus: je connais pas le business, mais faire gérer autant d'objets par VB en mémoire, c'est du pur suicide ou je ne m'y connais pas :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°740468
mareek
Et de 3 \o/
Posté le 26-05-2004 à 17:48:53  profilanswer
 

drasche a écrit :

A votre place, je bosserais là-dessus: je connais pas le business, mais faire gérer autant d'objets par VB en mémoire, c'est du pur suicide ou je ne m'y connais pas :/


On NE PEUT PAS faire autrement. et d'ailleurs sous 2000, XP ou 98 ça ne pose pas vraiment de problèmes (à part un certain temps d'attente à la fermeture du programme).
 
EDIT: si tu veux que je t'explique le problème plus en profondeur->PM


Message édité par mareek le 26-05-2004 à 17:49:24

---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°740475
drasche
Posté le 26-05-2004 à 17:53:57  profilanswer
 

ok :)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°743407
mareek
Et de 3 \o/
Posté le 28-05-2004 à 14:17:20  profilanswer
 

UP :/


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°743410
drasche
Posté le 28-05-2004 à 14:17:55  profilanswer
 

j'attends toujours ton MP au fait :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Performances Visual Basic 6 sous Windows NT 4

 

Sujets relatifs
[Visual C++ .NET] Erreur de link à la compilationIl me faut quoi pour faire un skin Windows Média Player 9 ?
[Visual C++]Problèmes d'affichage d'imagesConnexion Windows RAS, SLIP ou CSLIP ?
Probleme compatibilité windows/linux[C#] Utiliser les comptes Windows pour accéder à un machine
Programmer un telnet sous windowsPerformances de Graphics
problem conversion char* -> string sous visual .netl'affichage graphique sous visual fortran avec developer studio
Plus de sujets relatifs à : Performances Visual Basic 6 sous Windows NT 4


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR