Benchmarking G-WAN
There is no shame in being wrong, only in failing to correct our mistakes.
Benchmarking G-WAN with 15 programming languages
By mixing optimized a Web server, an app. server and a cache server, G-WAN allows Python to be flying near 800,000 requests per second (on a 6-Core, see below), just like Javascript or Ruby.
This level of performance is even higher than the one of other servers merely serving static contents.
Google serves 54,595 searches per second worldwide (that's 3 millions per minute). And more than 200 millions of emails (65% of it being SPAM) are sent per minute on the Internet.
This is because G-WAN's multi-threaded architecture (and optimized implementation) perform and scale much better:
This test (see the open-sourced tool and documentation) was done on localhost to remove the 1GbE LAN network bottleneck.
What is shown here is an "hello world" script written in each language and executed on-the-fly by G-WAN on a 6-Core CPU by 6 server threads and requested by 6 weighttp threads.
G-WAN's lowest, PHP flies at a whooping 630,000 requests per second, leaving the best PHP frameworks way behind.
ANSI C and C++ achieve this performance without caching. Some others require caching to fly that hight. G-WAN caching is disabled by default, but you can enable it globally or on a per request basis. But due to its architecture and implementation, even without caching G-WAN provides better performance for a lower RAM and CPU resource consumption than other servers.
G-WAN serves many more requests in much less time and with less CPU and RAM than anyone else:
[1-1000 range] 100.html (100-byte static file, HTTP keep-alives)
G-WAN server Average RPS:826,821 Time:1,516 seconds[00:25:16]
Lighty server Average RPS:219,562 Time: 4,740 seconds [01:19:00]
Nginx server Average RPS:167,977 Time: 6,823 seconds [01:53:43]
Varnish cache Average RPS:103,996 Time:10,817 seconds [03:00:17]
[1-1000 range] hello world (dynamic contents, HTTP keep-alives) G-WAN + C Average RPS:801,585 Time:1,551 seconds[00:25:51] G-WAN + Java Average RPS:759,726 Time: 1,648 seconds [00:27:28] G-WAN + Scala Average RPS:757,767 Time: 1,660 seconds [00:27:40] G-WAN + JS Average RPS:768,659 Time: 1,696 seconds [00:28:16] G-WAN + Go Average RPS:784,113 Time: 1,892 seconds [00:31:32] G-WAN + Lua Average RPS:757,588 Time: 1,920 seconds [00:32:00] G-WAN + Perl Average RPS:782,088 Time: 1,977 seconds [00:32:57] G-WAN + Ruby Average RPS:778,087 Time: 2,054 seconds [00:34:14] G-WAN + PythonAverage RPS:774,180 Time: 2,110 seconds [00:35:10] G-WAN + PHP Average RPS:613,389 Time: 2,212 seconds [00:36:52] Tomcat Average RPS: 76,556 Time:20,312 seconds [05:38:32] Node.js Average RPS: 14,209 Time:80,102 seconds [22:15:02] Google Go Average RPS: 12,801 Time:84,811 seconds [23:33:31]
And this is for a mere 6-Core CPU. The gap with other servers will be with 10x larger with (same power) 64-Core CPUs because G-WAN lets people harness the parallel processing power of the ever increasing number of cores available on each chip.
There's no wonder why researchers aim to tackle the Parallel Programming challenge considered by the European Union, Intel and Microsoft as the single most important problem facing the global IT industry.
G-WAN was was first released for Microsoft Windows in 2009. Less than six months later, Linux proved to be a better choice (less usermode overhead, more scalability, less security issues, and... free licenses).