Shouldn't the title be, How to NOT get C like performance in Java ;)
Shouldn't the title be, How to NOT get C like performance in Java ;)
AdWords charge about $1 per click. Lets say your hardware budget is only $1 per connection. With 10K connections you still have enough money for 10 servers if you wanted.
Define useful? I think you mean, computationally complex, but that isn't the same thing as useful. At my last job I worked on a web crawler, and fetching a page, then persisting it in our grid, was useful work. It was useful to have more than 10k connections in that context.
One of my pet peeves is this idea of throwing servers at problems. We currently have enormous problems with power and heat dissipation in data centers. At my last job, where I did the web crawler, we couldn't put any more servers in our data center because we didn't have enough power. Doing more, with fewer servers can be very important.
I also wonder how much larger the carbon footprint of computing is because of such philosophies.
C doesn't require you to buy another server to handle more than 10k concurrent connections. So that contradicts the title, right?
But, you can of course handle more than 10k concurrent on the jvm using the NIO stuff.
Imagine if you have a giant datacenter like google, and heat and power are a serious problem. Accomplishing a task with fewer servers is a serious win.