Bonjour,
J'ai actuellement du code que j'aimerai optimiser en terme de performance.
Je pensai utilisé les fonctions de paralléllisme Task et Action.
Je sais utilisé les fonctions Parallel.For et Parallel.Foreach. Cependant pour les fonction Task et Action, je suis bien paumé.
Voici le bout de code que j'aimerai optimisé :
Le but est de réaliser un traitement sur les valeurs de Bmp et stocker celle ci dans Output. En sachant que Bmp est a une taille très importante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Byte[] Bmp = new Byte [X] Byte[] Output = new Byte[Bmp.Length]; int max ; int min; int diffmax ; int diffmin ; max -= 127; for (int i = 0; i < Bmp.Length; i++) { if (Bmp[i] > 127) { interm_1 = (Double)(Bmp[i] - 127); adder = diffmax * ((interm_1 / max)); Output[i] = (byte)(Bmp[i] + (byte)(adder)); } else { interm_2 = (Double)(127 - Bmp[i]); lower = diffmin * (interm_2 / min); if (min != 127) Output[i] = (byte)(Bmp[i] - (byte)(lower)); else Output[i] = (byte)(Bmp[i]); }
Est ce que c'est une bonne solution?
Comment bien implémenté le code avec une méthode Task?
Merci de votre aide
Partager