Performances Visual Basic 6 sous Windows NT 4

Performances Visual Basic 6 sous Windows NT 4 - VB/VBA/VBS - Programmation

Marsh Posté le 26-05-2004 à 15:44:54    

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
Reply

Marsh Posté le 26-05-2004 à 15:44:54   

Reply

Marsh Posté le 26-05-2004 à 16:17:29    

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)
Reply

Marsh Posté le 26-05-2004 à 16:22:43    

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

Reply

Marsh Posté le 26-05-2004 à 16:22:47    

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
Reply

Marsh Posté le 26-05-2004 à 16:23:55    

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)
Reply

Marsh Posté le 26-05-2004 à 16:25:36    

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
Reply

Marsh Posté le 26-05-2004 à 16:28:01    

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
Reply

Marsh Posté le 26-05-2004 à 16:52:03    

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)
Reply

Marsh Posté le 26-05-2004 à 16:54:58    

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
Reply

Marsh Posté le 26-05-2004 à 17:06:36    

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)
Reply

Marsh Posté le 26-05-2004 à 17:06:36   

Reply

Marsh Posté le 26-05-2004 à 17:09:18    

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
Reply

Marsh Posté le 26-05-2004 à 17:33:43    

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)
Reply

Marsh Posté le 26-05-2004 à 17:48:53    

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
Reply

Marsh Posté le 26-05-2004 à 17:53:57    

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)
Reply

Marsh Posté le 28-05-2004 à 14:17:20    

UP :/


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 28-05-2004 à 14:17:55    

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)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed