5 ms·
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
by blub 17y ago
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%.
- rjurney 17y agoYou'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.
- igouy 17y ago> And if you'll notice, Java smoked the gcc C benchmark Notice that there are 2 gcc C programs.
- ilyak 17y agoSpeed is logarithmic. 20% is logarithmic-speak is "tiny".
- blub 17y agoWe have two numbers: X, and Y, which is 20% larger than X. Where is the logarithm?
- ilyak 17y agoIt's in axes, obviously. You draw those X and Y according to them.
- kingkongrevenge 17y agoYou 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++.
- rjurney 17y agoYeah, who would do serious crunching using Java? Those Hadoop idiots!
- kingkongrevenge 17y agoHadoop 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.
- rjurney 17y agoActually, 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.
- kingkongrevenge 17y agoHadoop 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.
- rjurney 17y agoOf 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.
- deleted 17y ago[deleted]