Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've noticed a curious trend with managed language programmers: they tend to say that language X is almost as fast as C, or has C-like speed when in reality it is significantly slower. In your case, "slightly" means 20%.


You're correct - because for what you get for that 20%, it is very small :) And if you'll notice, Java smoked the gcc C benchmark. By more than 20% :)

Most 'managed language' programmers are happy to give up way more than 20% for the benefits they give over verbose assembly.


> And if you'll notice, Java smoked the gcc C benchmark

Notice that there are 2 gcc C programs.


And two Java as well. What the heck do they mean? What is GCC vs GCC #4?


I suspect GCC version 4, probably compared to GCC version 3, which only recently was superseded in "enterprise" Linux distros.


Speed is logarithmic.

20% is logarithmic-speak is "tiny".


We have two numbers: X, and Y, which is 20% larger than X. Where is the logarithm?


It's in axes, obviously.

You draw those X and Y according to them.


You have a simulation that will take either four days to run or five. That's not tiny. And that's not so rare a problem. Not everyone is doing web apps.

I remain skeptical of these micro benchmarks. Almost every time I've messed around with porting pieces of C++ to Java or C# and benchmarking it I get a large difference in favor of C++.


Yeah, who would do serious crunching using Java? Those Hadoop idiots!


Hadoop is a platform for traversing very large data sets. It is not really for "number crunching." One can use any language for the map/reduce pieces of Hadoop.


Actually, plenty of guys use Hadoop for CPU bound problems.

And the fastest way to use it this way is Java, which is what the number crunching users of Hadoop use. Which is to say that the emerging big data compute platform is Java. Which is to say that you're wrong.


Hadoop is not "for CPU bound problems." It's for huge data. There are much better frameworks for the problem of splitting a parallelizable computation across machines. Nobody would use Hadoop just for that.

Why would Java be the fastest way to do computations with Hadoop? You can use many languages for the map/reduce pieces. The fastest language would be fastest language, not necessarily Java.


Of course I'm talking about those subset of problems which are CPU bound and also use huge data.

As to why streaming is slow: I don't know. It just is. Check it out. C++ streaming performance is the pits.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: