On 9/17/07, Nikolaj Baer <[EMAIL PROTECTED]> wrote:
> In talking to a google engineer a while back, he mentioned offhand
> that, although he had done his particular google project in python,
> they were strongly considering moving it to java due to scalability
> issues. This isn't the first time I have heard the implication that
> for truly massive applications, java is really the standard.
>
> I have been reading a bunch lately, everything from shards and
> hibernate to youtube scalability (they have a python app under the
> hood), and I can't seem to find a simple explanation of what makes
> java better at scaling. I think alot of java based sites tend to be
> too verbose and acronym happy, and I am pretty certain there is a
> simple way to explain it. There are plenty of articles (mostly by the
> RoR folks) on why java isn't better at scaling, but none that I have
> found so far deal with systems on the google scale.

* Java has no GIL (Global Interpreter Lock).
* Java generates machine code which, while only being a factor, can
still be a big help.

Or conversely:
* Python has a GIL which reduces how much of a multicore and/or
hyperthreading CPU you can leverage (not much).
* Python is among the slower languages at runtime.

I've used Python on plenty of projects because comparatively Java is
far less productive. On all of them but a financial application, I was
able to get the speed I needed using various techniques like the ones
you mentioned. For that one application, I switched to C# where the
performance improvement more than made up for the longer development
time (didn't have to wait 20 mins for my results on each run).


-Chuck

-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to