• [^] # Re: Des bonnes idées

    Posté par . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à 3.

    T'as un peu redis la même chose, non (peut-être mieux je te l'accorde) ?

    Je voulais signifier que les threads/processus et les greens threads (tel qu'ils sont implémenté maintenant) résolvent 2 problèmes différentes :

    • le premier sert à utiliser toute la puissance des CPU
    • le second les greens threads et tout ce qui est IO asynchrones sert à réduire le latence

    Un vielle exemple de l'impact que peux avoir le scheduling et qui fait un peu ressentir la différence c'est le vieux patch du noyau. On ne touche pas à l'usage CPU, ni au temps d'exécution, mais on a plus de latence.

    La commutation de contexte est surtout pénalisante quand celle-ci est lente donc les threads sont pour le coup bien moins handicapant que les processus. (qui en plus différent d'un OS à l'autre)

    Je suis pas persuadé que ça face une différence perceptible et quelques soit l'OS ça demande de passer en espace noyau et nettoyer le core sur lequel il s'exécute.

    Tu as l'air de suggérer que les green threads n'auraient pas ce genre de soucis. (commutation de contexte)
    Ça me parait tout à fait infondé et je suis curieux d'avoir des sources sur les propos avancés.

    C'est la définition des greens threads donc je sais pas trop quoi dire. T'a l'air de ne pas trop te fier à wikipedia, donc je te laisse choisir la source qui te plaira. Je serais curieux de connaitre une source qui n'explique pas que c'est des threads en espace utilisateur. Après le fait de l'implémenter par de l'asynchrone "caché" n'est pas obligatoire, mais sans ça ça n'a pas vraiment d'intérêt. C'est pour ça que java a jeter sa vielle implémentation il y a un paquet de temps, mais qu'ils y réfléchissent de nouveau.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll