Junior — Middle
Pourquoi le calcul de la somme des nombres de 1 à 100 est-il plus rapide avec des flux parallèles qu'avec des flux séquentiels?
sobes.tech IA
Réponse de l'IA
L’utilisation de flux parallèles lors du calcul de la somme des nombres de 1 à 100 peut être plus rapide que l’exécution séquentielle, pour les raisons suivantes :
- Parallélisation du travail. La tâche est divisée en plusieurs parties qui s’exécutent simultanément sur différents cœurs du processeur.
- Réduction du temps d’attente. Au lieu d’additionner séquentiellement tous les nombres, chaque flux additionne sa partie, puis les résultats sont combinés.
Cependant, il faut prendre en compte que pour une tâche aussi simple, les coûts de création et de gestion des flux peuvent dépasser le gain, surtout pour de petits intervalles.
Exemple en Java utilisant des streams parallèles :
import java.util.stream.IntStream;
public class SumExample {
public static void main(String[] args) {
int sumSequential = IntStream.rangeClosed(1, 100).sum();
int sumParallel = IntStream.rangeClosed(1, 100).parallel().sum();
System.out.println("Somme séquentielle : " + sumSequential);
System.out.println("Somme parallèle : " + sumParallel);
}
}
Dans cet exemple, le stream parallèle divise la plage en parties, les somme dans des flux séparés et combine les résultats, ce qui peut accélérer le calcul sur des systèmes multi-cœurs.