[openstack-dev] [all] Replace mysql-python with mysqlclient

Robert Collins robertc at robertcollins.net
Tue May 12 01:27:09 UTC 2015


On 12 May 2015 at 13:02, Dieterly, Deklan <deklan.dieterly at hp.com> wrote:
> Given Python’s inherent inability to scale (GIL) relative to other languages/platforms, have there been any serious discussions on allowing other more scalable languages into the OpenStack ecosystem when concurrency/scalability is paramount?

The GIL is a particular part of the Python scaling story, but don't
let it scare you: http://en.wikipedia.org/wiki/Global_Interpreter_Lock
- Ruby MRI also has a GIL equivalent. Last I heard golang still
defaults GOMAXPROCS to 1 and often performs less efficiently when it
is > 1 (that is, individual requests becomes slower but more requests
can get CPU at once). In rust threads are quite interesting, though
there's an arena per thread and you need hand ownership around
(http://doc.rust-lang.org/1.0.0-alpha/book/tasks.html).

We do allow other languages in - see the Swift golang stuff happening
right now, but:- short of C layer languages (which rust arguably is),
scaling CPU bound workloads is always tricky in one way or another, we
just get to pick what bit will be tricky for us.

Jython can free thread, for instance - the GIL is  CPython constraint,
not Python per se.

-Rob


-- 
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud



More information about the OpenStack-dev mailing list