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&#39;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==--