|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
En gros avant de me faire suer sur une crosscompilation, j'aurais voulu
avoir un petit reour d'expérience. Incompatibilités ? Fonctionnement ? |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
BertrandB a écrit :
> En gros avant de me faire suer sur une crosscompilation, j'aurais voulu > avoir un petit reour d'expérience. > Incompatibilités ? > Fonctionnement ? Devant le peu de réponse je me suis lancé je viens de passer la première phase cruciale de la crosscompilation je finirai peut être ce week end. La page que j'avais dans le Wiki est maintenant caduque le patch que j'avais utilisé ayant disparu. En gros je me cale sur le package Python(2.4.42) de buildroot pour cross compiler un stackless 2.5.1 mais ça passe pas les doigts dans le nez. (Dieu sait pourtant que j'ai les narines bien larges ) |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Bonsoir !
La seule fois où je me suis intéressé à Stackless, personne n'a pu vraiment me dire ce que ça apportait ("en pratique, c'est quoi, quel intérêt à, la continuation?") Et puis, j'ai remarqué que ce projet vivait par à-coups, avec de très longs mois sans mouvements. Donc, gros doute sur la pérennité du truc... @+ Michel Claveau |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
|-| /-\ |_ ()7 [°¿°] a écrit :
> Bonsoir ! > > La seule fois où je me suis intéressé à Stackless, personne n'a pu > vraiment me dire ce que ça apportait ("en pratique, c'est quoi, quel > intérêt à, la continuation?") > Et puis, j'ai remarqué que ce projet vivait par à-coups, avec de très > longs mois sans mouvements. Donc, gros doute sur la pérennité du truc... > > @+ > > Michel Claveau > > J'ai l'impression que Stackless est vivant en ce moment. C'est essentielement un Hack de C-Python, ffaisant que l'évaluateur n'utilise plus la pile de C pour les pasages de paramètres. Compte tenu des problèmes étanges avec le portage sur DSM-G600 que je rencontre il se pourrait effectivement que ce soit des écrasements de pile. Il se rajoute une fonctionalité de Tasklet. Si j'ai bien compris stackless intégre un ordonaceur (round robin) et ces tasklet sont gérées par cette ordonanceur. "It allows programmers to reap the benefits of thread-based programming without the performance and complexity problems associated with conventional threads. The microthreads that Stackless adds to Python are a cheap and lightweight convenience which can if used properly, give the following benefits: * Improved program structure. * More readable code. * Increased programmer productivity." et description sur python.org : "Stackless Python is a fork of CPython, but not one that diverges very far from the main tree. Christian Tismer rewrote the main interpreter loop of CPython to minimize its use of the C stack; in particular, calling a Python function in Stackless Python doesn't occupy any more room on the C stack. This means that, while CPython can only recurse a few thousand levels deep before filling up the C stack and crashing, Stackless can recurse to an unlimited depth. Stackless is also significantly faster than CPython (around 10%), supports continuations and lightweight threads, and has found a community of highly skilled users who use it to do things such as writing massively-multiplayer online games. The Stackless Python home page is at http://www.stackless.com." Séduisant non ? |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Re !
> microthreads Lorsque je m'y étais intéressé, les micro-threads n'étaient pas implémentés (c'était une promesse pour la version suivante). > J'ai l'impression que Stackless est vivant en ce moment. Mais, les versions sortent au moins 18 mois de retard sur les versions Python. -- @-salutations Michel Claveau |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
Bonsoir,
BertrandB a écrit : > |-| /-\ |_ ()7 [°¿°] a écrit : >> Bonsoir ! >> >> La seule fois où je me suis intéressé à Stackless, personne n'a pu >> vraiment me dire ce que ça apportait ("en pratique, c'est quoi, quel >> intérêt à, la continuation?") >> Et puis, j'ai remarqué que ce projet vivait par à-coups, avec de très >> longs mois sans mouvements. Donc, gros doute sur la pérennité du truc... >> >> @+ >> >> Michel Claveau >> >> > J'ai l'impression que Stackless est vivant en ce moment. > C'est essentielement un Hack de C-Python, ffaisant que l'évaluateur > n'utilise plus la pile de C pour les pasages de paramètres. Compte tenu > des problèmes étanges avec le portage sur DSM-G600 que je rencontre il > se pourrait effectivement que ce soit des écrasements de pile. En fait, Stackless utilise quand même la pile "du C". Si on imbrique 10 appels de fonctions, on verra leurs paramètres s'aligner sur cette pile. Mais Stackless sait s'en libérer quand il le désire, en recopiant une partie de la pile ailleurs, et en continuant avec la place libérée. Ce qui lui permet de simuler une pile d'appels beaucoup plus importante, mais aussi de passer rapidement à autre chose, en remettant en place une pile enregistrée précédemment. > Il se rajoute une fonctionalité de Tasklet. Si j'ai bien compris > stackless intégre un ordonaceur (round robin) et ces tasklet sont gérées > par cette ordonanceur. Il y a d'autres modèles. Par exemple, deux tasklets peuvent être reliées par des "Channels": quand une tâche écrit dans le Channel, elle réveille celle qui est à l'écoute. > "It allows programmers to reap the benefits of thread-based programming > without the performance and complexity problems associated with > conventional threads. The microthreads that Stackless adds to Python are > a cheap and lightweight convenience which can if used properly, give the > following benefits: > * Improved program structure. > * More readable code. > * Increased programmer productivity." Moi, j'ai toujours un peu de mal avec ces fonctions qui s'interrompent, reprennent en plein milieu... A utiliser en cas de nécessiter seulement. > et description sur python.org : > "Stackless Python is a fork of CPython, but not one that diverges very > far from the main tree. Christian Tismer rewrote the main interpreter > loop of CPython to minimize its use of the C stack; in particular, > calling a Python function in Stackless Python doesn't occupy any more > room on the C stack. This means that, while CPython can only recurse a > few thousand levels deep before filling up the C stack and crashing, > Stackless can recurse to an unlimited depth. Stackless is also > significantly faster than CPython (around 10%), supports continuations > and lightweight threads, and has found a community of highly skilled > users who use it to do things such as writing massively-multiplayer > online games. The Stackless Python home page is at > http://www.stackless.com." > > Séduisant non ? |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
MC a écrit :
> Re ! > >> microthreads > > Lorsque je m'y étais intéressé, les micro-threads n'étaient pas > implémentés (c'était une promesse pour la version suivante). Heu, c'était il y a longtemps ? La page correspondante sur le wiki date de 2005. http://www.stackless.com/wiki/Tasklets >> J'ai l'impression que Stackless est vivant en ce moment. > > Mais, les versions sortent au moins 18 mois de retard sur les versions > Python. En plus, l'auteur principal a émigré vers le projet PyPy, qui permet d'implémenter la fonction stackless de manière transversale, et sans avoir à modifier tout le code de l'interpréteur (enfin si, mais c'est du code généré). Ceci dit, quand on a vraiment besoin des avantages de Stackless, le fait d'avoir un python plus-que-stable n'est pas à dédaigner. -- Amaury Forgeot d'Arc |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
MC a écrit :
> >> J'ai l'impression que Stackless est vivant en ce moment. > > Mais, les versions sortent au moins 18 mois de retard sur les versions > Python. La version 2.5.1 est quand même là... -- Amaury |
|
![]() |
| Outils de la discussion | |
|
|