Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Performance de VB

1 réponse
Avatar
Stéphane
Bonjour,

J'ai réalisé un programme, ou je lit des données dans une base de donnée via
une requete que je met dans des varriables, puis je fait des calcul dessus
et a partir des donnée chargé et résultante du calcul je fait dessiné des
chose à l'écran.
Suivant le nombre de donnée a traiter c'est plus ou moins lent.
Le tout est executé de manière linéaire.
Quand je regarde le taux d'occupation du procésseur, il reste bloqué à 50%,
environ 20% pour un corps et 30% pour le 2eme.
Les resource de mon PC ne sont donc pas utilisé à fond et comme mon
programme est éxécuter de manière linéaire il ne profite pas du max de mes
ressources.
C'est bien çà ?
Comme après ma lecture de donnée, j'ai on vas dire 4 processus de
cacul/affichage qui sont indépendant, je pourrait accéler les chose avec du
multithread.
Comme je suis à 50% de taux d'occupation, je pense que faire 4 thread
distinct ne m'apporterait pas beaucoup de benefice par rapport à 2 threard
(sauf quadricorps).
Si j'ai bien compris, dans ce cas là le plus simple a géré ce serait de
faire un unique thread en tache de fond ce qui evite une gestion fastidieuse
d'un vrai multithread, que j'appelerait quand je déclenche ma phase de
calcul/affichage qui prendrait en charge une partie des calculs/affichage
que je fait et ainsi me prermettrait d'utiliser toutes mes resources sytème.

J'a bien compris le truc, et c'est comme cela que ce sera le plus simple à
gérer ?

Ou est qu'il faut que j'aille explorer vraimment le multithread ?

En vous remerciant d'avance pour vos réponse.

Cordialement

Stéphane

1 réponse

Avatar
Jérémy Jeanson
Pour résoudre simplement ton problème, je pense qu'il faudrait que tu
commences par isoler les opérations qui peuvent être exécutées en
parallèles de celle qui nécessitent impérativement que certaines tâches
soient effectuée avant d'être lancées.

Après pour ce qui est de choisir le nombre de thread concurants,
l'utilisation de sémaphores devrait te permettre limiter le nombre de
threads sur une opération particulière. Pour ce qui est du paramétrage
de ces sémaphores, ce n'est que par test que tu pourras vraiment le
déterminer.

Si je n'ai pas été clair n'hésite pas à le souligner, merci :)
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net