Performance comparison between Scala etc. And C / C ++ / Fortran?

I wonder if there is a reliable comparison of performance between "modern" multithreaded specialized languages, such as, for example, scala and "classical" lower-level languages, such as C, C ++, Fortran, using parallel libraries such as MPI, Posix or even Open-MP.

Any links and suggestions are welcome.

+6
c ++ multithreading scala fortran mpi
source share
3 answers

Given that Java, and therefore Scala, can call external libraries, and given that these highly specialized external libraries will do most of the work, then the performance will be the same as long as the same libraries are used.

Other than that, any such comparison is essentially meaningless. Scala executes code in a virtual machine with run-time optimization. This optimization may push long-term programs to greater productivity than programs compiled with these other languages ​​- or not. It depends on the specific program written in each language.

+3
source share

Here is another answer: go to the local supercomputer center and ask how much of the processor load is used in each language you are interested in. This will give you only a proxy answer to your question, it will tell you what people who are interested in high performance on such machines use to solve the problem that they solve. But this is instructive, like any other answer you are likely to get for such a broad question.

PS The answer will be that Fortran, C and C ++ consume more than 95% of the processor cycles.

+1
source share

I would consider such comparisons as fractional. The numerator is a constant (approximately, in my opinion, about 0.00001). The denominator is the number of threads multiplied by the number of logical processors.

IOW, for one thread, the comparison has about one chance in a million, which means something. For a quad-core processor using an application with (say) 16 threads, you get one chance in 64 million significant results.

In short, there are undoubtedly a lot of people on it, but the chances that any of them will give at least one result, give a result that is useful and significant, are still extremely low. Worse, even if one of them really meant something, it would be almost impossible to find and even harder to check to such an extent that you actually knew what it meant.

0
source share

All Articles