PythonPlus
Kristján Valur Jónsson <[email protected]> Thu, 27 Nov 2014 21:38:32 +0000
| Newsgroups | gmane.comp.python.stackless |
|---|---|
| Message-ID | <CAP8kY6Yj218HT3JKUUaS4wab6FfH9AHqxiFst=p64wiBfnY71w@mail.gmail.com> |
--===============5674725886745818499== Content-Type: multipart/alternative; boundary=001a11392ed83b43100508ddf7d0 --001a11392ed83b43100508ddf7d0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hey, So, I started this little project, PythonPlus: https://bitbucket.org/krisvale/pythonplus Basically, I wanted to get out of my system some of the little changes that we did at CCP to the python 2.7 thingie. PythonPlus is the cpython repo, with some stuff added to the 2.7 branch. At the moment, it is all threading stuff, designed at enhancing the responsiveness of 2.7 when working with threads. 1) the locking primitives now all timeout, as they do in 2.x 2) there is a native RLock. 3) there is a custom GIL which makes CPU threads share load fairly and ensures swift responsiveness for IO threads. 4) there is a native Condition impelentation, greatly reducing latency for applications using Condition variables for signalling. Previously, threading.Condition was pure python with a lot of GIL thrashing, corner cases, and overhead. If you're interested, take a look. A downside is that effectively support is dropped for anything not Win32 or pthreads. If there is a 2.8 project anywhere out there, then these things could be a nice candidate. Take a look at Tools/plus/giltest.py for code that excercises the gil, io threads, and condition variables. Cheers, Kristj=C3=A1n --001a11392ed83b43100508ddf7d0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hey,=C2=A0<div>So, I started this little project, PythonPl= us:</div><div><a href=3D"https://bitbucket.org/krisvale/pythonplus">https:/= /bitbucket.org/krisvale/pythonplus</a><br></div><div>Basically, I wanted to= get out of my system some of the little changes that we did at CCP to the = python 2.7 thingie. =C2=A0</div><div>PythonPlus is the cpython repo, with s= ome stuff added to the 2.7 branch.</div><div><br></div><div>At the moment, = it is all threading stuff, designed at enhancing the responsiveness of 2.7 = when working with threads.</div><div><br></div><div>1) the locking primitiv= es now all timeout, as they do in 2.x</div><div>2) there is a native RLock.= </div><div>3) there is a custom GIL which makes CPU threads share load fair= ly and ensures swift responsiveness for IO threads.</div><div>4) there is a= native Condition impelentation, greatly reducing latency for applications = using Condition variables for signalling.=C2=A0 Previously, threading.Condi= tion was pure python with a lot of GIL thrashing, corner cases, and overhea= d.</div><div><br></div><div>If you're interested, take a look.=C2=A0 A = downside is that effectively support is dropped for anything not Win32 or p= threads.</div><div><br></div><div>If there is a 2.8 project anywhere out th= ere, then these things could be a nice candidate.</div><div><br></div><div>= Take a look at Tools/plus/giltest.py for code that excercises the gil, io t= hreads, and condition variables.</div><div><br></div><div>Cheers,</div><div= ><br></div><div>Kristj=C3=A1n</div></div> --001a11392ed83b43100508ddf7d0-- --===============5674725886745818499== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless --===============5674725886745818499==--