Pour windows, étant donné que c'est pas mal optimisé x86 (quoique le "vieux" port alpha devait pas être mal), je suppose qu'ils font le même genre de chose, ou peut-être utilisent-ils le système intégré au CPU dont parlent les commentaires dans le source de Linux.
[^] # Re: LWPs, my mistake.
Posté par Jean-Yves B. . En réponse à la dépêche performances MySQL sous OpenBSD. Évalué à 3.
Effectivement, je vient de surfer un peu et c'est le proc qui fait le plus de boulot.
Sur PPC c'est un peu plus lisible, moins d'assembleur (j'ai regardé sur le 2.4.16).
Mais cet aspect semble le plus optimisé sur x86 en tout cas.
Il reste la création et destruction de processus comme consommateur de temps.
Pour comparer avec un switch de thread user sur i386 => http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc_r/arch/i386/uthr(...)">http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc_r/arch/i386/uthr(...))">http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc_r/arch/i386/uthr(...)))
et le code du scheduler => http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc_r/uthread/uthrea(...)">http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc_r/uthread/uthrea(...))">http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc_r/uthread/uthrea(...)))
C'est super bien commenté dans les deux cas (Linux et Open).
<pub>
Pour surfer sur le source du noyau Linux, ayez le réflexe LXR => http://lxr.linux.no/source/(...)">http://lxr.linux.no/source/(...(...))">http://lxr.linux.no/source/(...(...(...)))
</pub>
Pour windows, étant donné que c'est pas mal optimisé x86 (quoique le "vieux" port alpha devait pas être mal), je suppose qu'ils font le même genre de chose, ou peut-être utilisent-ils le système intégré au CPU dont parlent les commentaires dans le source de Linux.