So, from what I can tell, Pluton : C/State-Threads :: Twisted : Python/select. It's a hybrid evented/threaded framework using cooperative thread scheduling, but it hides the thread scheduling in its API to make programming feel even more natural.
There are a lot of random projects that chased this idea; maybe someone here can list a couple? I'm just fascinated that Yahoo fielded major apps built on this one. Neat!
Very cool, glad that got out, it's good to see stuff like this happening. Its been in use for 5+ years so hopefully others can find use for it as well.
It seems that it at least has some overlap. But I'm not sure it is similar, ZeroMQ focueses very much on routing of messages, while this library focuses on making cooperative multithreading for networking easier.
Then again, I'm not familiar Pluton at all so I might be completely wrong.
Kind of, as I am using Mongrel2 and ZeroMQ, I cloned the repo and took a look at it.
ZeroMQ is a message passing toolkit with a lot of goodies where Pluton is to solve the concurrency problem, that is, when you generate a web page, you can access maybe 20 different services and merge the results in the page. If the 20 services requires each 5 ms to answer, you get 100 ms compute time when called in series, but imagine you can call the 20 in 2 batches, you can get an optimal 10 ms.
This what is provided by Pluton, a framework to call many services in parallel to improve the overall latency of your application from the end client point of view. Each small service run by default on the same system, but they can in return use ZeroMQ to communicate with other components.
The HTML documentation of the project is really good.
But you have to know to scroll down to it, and for non-GitHub users, that won't happen until one day they randomly scroll down and notice there's more info cunningly hidden at the bottom of the page.
GitHub (probably correctly) seems to prioritise ease of use for people actually using it as a source repository over ease of discovery for projects using it as their homepage. Which is why projects shouldn't use it as a homepage, and people shouldn't treat it as such, until it gets better landing-page support.
I suppose there may be some argument in that non-GitHub users may not be the target audience for these projects, mind you :)
11 comments
[ 2.9 ms ] story [ 35.8 ms ] threadThere are a lot of random projects that chased this idea; maybe someone here can list a couple? I'm just fascinated that Yahoo fielded major apps built on this one. Neat!
ZeroMQ is a message passing toolkit with a lot of goodies where Pluton is to solve the concurrency problem, that is, when you generate a web page, you can access maybe 20 different services and merge the results in the page. If the 20 services requires each 5 ms to answer, you get 100 ms compute time when called in series, but imagine you can call the 20 in 2 batches, you can get an optimal 10 ms.
This what is provided by Pluton, a framework to call many services in parallel to improve the overall latency of your application from the end client point of view. Each small service run by default on the same system, but they can in return use ZeroMQ to communicate with other components.
The HTML documentation of the project is really good.
GitHub (probably correctly) seems to prioritise ease of use for people actually using it as a source repository over ease of discovery for projects using it as their homepage. Which is why projects shouldn't use it as a homepage, and people shouldn't treat it as such, until it gets better landing-page support.
I suppose there may be some argument in that non-GitHub users may not be the target audience for these projects, mind you :)