Monday, August 08
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.
48kb generated in CPU 0.0496, elapsed 0.1862 seconds.
56 queries taking 0.1778 seconds, 346 records returned.
Powered by Minx 1.1.6c-pink.
56 queries taking 0.1778 seconds, 346 records returned.
Powered by Minx 1.1.6c-pink.