|
Bas de page | |
---|---|
Auteur | Sujet : multi-tread vitesse |
Publicité | Posté le 02-02-2009 à 08:55:54 |
casimimir |
|
weblook$$ | Et pratiquement, si on possède une machine de type Intel Core 2 Duo, et que l'on se sert d'une librairies tel que Boost pour gérer les threads, l'utilisation des 2 cores est automatiques ? |
Joel F Real men use unique_ptr | rien n'ets automatique avec les threads. Y a pas de magie.
|
weblook$$ | comment faire alors? Il faut utiliser l'asm ou bien ?? |
Joel F Real men use unique_ptr | v_v
|
weblook$$ | c'est à dire il faut le structurer de quelle manière ? |
Un Programmeur | De maniere a pouvoir faire plusieurs choses en meme temps si possible. |
weblook$$ | mais quand on utilise des threads, notre programme est toujours conçu de manière à pouvoir faire plusieurs choses en meme temps non ? |
Publicité | Posté le 02-02-2009 à 11:36:53 |
Joel F Real men use unique_ptr | oui mais c'est toi qui spécifie ce découpage.
|
weblook$$ | ça marche thx |
masklinn í dag viðrar vel til loftárása |
1. Augmenter la réactivité (d'une interface). En ayant une UI vivant dans un thread/process donné et toute l'exécution dans 1..n autres threads/process (mais jamais dans le thread/process d'UI), l'UI continue à répondre même quand on lance des opérations lourtes (en terme de CPU) derrière. Sans multi(thread|process), dès qu'on lance une action un peu violente l'UI se retrouve intégralement bloquée. 2. Bosser en parallèle à de l'I/O. Si on programme avec des séquences IO/calcul, la partie calcul doit attendre la fin de l'IO (potentiellement longue) avant de pouvoir se lancer, même si elle ne dépend pas de l'IO. De même si on fait de l'IO sur k sources différentes, en mono(thread|process) (et sauf à utiliser des trucs genre select/kpoll) on doit faire toutes les IO l'une après l'autre, puis faire le processing associé. En multi, on peut faire toutes les IOs en même temps, puis dès qu'une IO donnée est terminée lancer les processings qui y sont liés. 3. Enfin ça permet d'augmenter la puissance de calcul totale dispo quand on bosse avec du hardware threadé (avec des threads "virtuels" genre CoolThreads/Hyper-Threading, du multicore ou du multiCPU), mais ce genre de gains impose que la tâche soit parallélisable (ce qui n'est pas toujours le cas, en tout cas pas nécessairement facilement)
Message cité 2 fois Message édité par masklinn le 02-02-2009 à 15:35:41 --------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
Joel F Real men use unique_ptr |
|
masklinn í dag viðrar vel til loftárása |
--------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
Joel F Real men use unique_ptr | d'ou l'attrait pour le parallelisme fonctionel au sens propre (genre BSML ou Parallel Haskell). |
weblook$$ |
|