in reply to Re^2: Google's MapReduce
in thread Google's MapReduce

If the application's bottleneck is I/O, then Perl would probably be a viable choice.

That depends on what kind of I/O we are talking about. There are various kinds of I/O, of which I will mention three:

  1. Network I/O. The least interesting category. If your application is bound by network I/O, there isn't much you can do except upgrade your network.
  2. Disk I/O. Interesting category, and which brings us in the realm of SANs, fibre-channel and multiple controllers. You're right that Perl might be a good for those applications.
  3. CPU-Memory I/O. Perl would absolutely suck for those kind of applications, as Perl is very memory hungry, and gives the programmer very little control over what is stored where. It uses gazillion pointers, storing stuff all over the place, resulting in a low cache hit ratio.