Monday, August 08

Geek

That Should Be... Adequate

[web@ruri ~]$ curl localhost:9090
4418484.7 RPC calls per second say "Hello World"

Explanation: I'm testing some of the features of uWSGI (a lightweight web application server) for the next release of software at my day job.  I'd seen promising benchmarks of the RPC feature, but those benchmarks were mostly over TCP.  uWSGI also supports local RPC calls, so I tried it in Python, on a little Xeon E3 1230.  (Workhorse of the web world.)

It takes 224 nanoseconds to call one Python routine from another via uWSGI's RPC stack.

Which made me curious:

4364561.2 RPC calls per second say "Hello World"
13675770.1 local calls per second say "Hello World"

Okay, there is some measurable overhead there; about 150 ns is spent traversing RPC.  I honestly think I can live with that; my fastest function calls are in the 5-10 microsecond range.

What this lets me do is deploy mixed-language apps (PHP, Ruby, Python, and some Lua scripting) with near-zero latency for method calls between languages.  Basically, as fast as we can squash results down to JSON on one side and unsquash them on the other.

Pretty neat.

Posted by: Pixy Misa at 11:07 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 190 words, total size 2 kb.




Apple pies are delicious. But never mind apple pies. What colour is a green orange?




47kb generated in CPU 0.0135, elapsed 0.1008 seconds.
56 queries taking 0.0904 seconds, 338 records returned.
Powered by Minx 1.1.6c-pink.