Question

Alors, je suis autour avec Stackless Python et une question surgit dans ma tête, peut-être cette est « supposé » ou la connaissance « commun », mais je ne pouvais pas trouver réellement écrit nulle part sur le stackless .

Stackless Python tirer parti des processeurs multi-cœurs? En Python normal, vous avez le GIL être constamment présent et à utiliser (true) de plusieurs noyaux, vous devez utiliser plusieurs processus, est-ce vrai pour Stackless aussi?

Était-ce utile?

La solution

python Stackless fait pas faire usage de tout type d'environnement multi-core, il fonctionne sur.
Ceci est une idée fausse commune au sujet Stackless, car il permet au programmeur de tirer parti de la programmation à base de fil. Pour beaucoup de gens ces deux sont étroitement liés, mais sont en fait deux choses distinctes.

Stackless interne utilise un ordonnanceur round-robin pour programmer chaque tasklet (threads micro), mais pas tasklet peut être exécuté en même temps que l'autre. Cela signifie que si l'on tasklet est occupé, les autres doivent attendre jusqu'à ce que tasklet renonce au contrôle. Par défaut, le programmateur ne s'arrêtera pas un tasklet et donner le temps processeur à l'autre. Il incombe de se fixer de nouveau à la fin de la file d'attente d'horaire du tasklet en utilisant Stackless.schedule (), ou en terminant ses calculs.

tous les tasklets sont ainsi exécutées de manière séquentielle , même lorsque les noyaux multiplpe sont disponibles.

La raison pour laquelle Stackless ne prend pas en charge multi-core est parce que cela rend les discussions beaucoup plus facile. Et cela est juste ce que stackless est tout au sujet:

du site officiel stackless

  

Stackless Python est un amélioré   version de la programmation Python   la langue. Il permet aux programmeurs de   récolter les avantages de base-fil   programmation sans la performance   et les problèmes de complexité associés   avec des fils conventionnels. le   microfiletages que Stackless ajoute à   Python sont un pas cher et léger   commodité qui peut le cas échéant   correctement, donner les avantages suivants:

     
      
  • Amélioration de la structure du programme.
  •   
  • code plus lisible.
  •   
  • Augmentation de la productivité du programmeur.
  •   

Voici un pour un peu plus d'informations sur plusieurs noyaux et stackless.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top