[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] linux et Pipes



On Wed, May 12, 2004 at 09:54:30AM +0200, Mickael Vera wrote:
> Tu sera quand même obligé de forker à chaque fois que ton
> select trouvera une socket de disponible si tu ne veux pas
> que le traitement d'une socket bloque les autres. Et le fork
> est assez gourmand il me semble par rapport à des implémentations
> légères de threads.

"Si je ne veux pas": il faut donc faire le choix entre
traiter N connections en série à vitesse max V, ou bien
traiter N connections en parralèle à vitesse V/N: avec la
solution multi-process/multi-thread, on garanti qu'aucune
connection ne peut être traitée à vitesse maximale. Tout
dépend bien entendu de l'application et de la durée des
connections, mais le multi-process est plus souvent inutile
que le contraire.

Le fork est légèrement plus gourmant que le thread, mais pas
tellement plus sous Linux (essentiellement, il faut une
structure de mémoire virtuelle par process alors que tous
les threads d'un process partage la même, et il faut
également changer le contexte quand on change de process...
Une machine Linux change de contexte tout le temps de toute
façon, l'impact de performance n'est pas en général très
important).

Y.



Reply to: