|
This is a forum of C# in general, not just "C# syntax".
My question is a specific question directly related to C# with possible objective answer.
|
|
|
|
|
crunchor wrote: My question is a specific question directly related to C# with possible objective answer.
Seeing as we are aruging the toss, it isn't. The code may be written in c#, but this is compiles into an intermediate language, CIL. The comparison really compares the speed of CIL execution against Java's JIT compiled (I assume) code. A more accurate description would be a comparison of the performance of the frameworks. You could have tested using VB.net in place of c# and the results would more than likely have been near identical, because it too compiles to CIL.
This really isn't a programming question, you are asking about the speed comparison of two frameworks. The code is a black-box from this point of view and its only relevancy is whether it is a fair and representative test.
“Education is not the piling on of learning, information, data, facts, skills, or abilities - that's training or instruction - but is rather making visible what is hidden as a seed” “One of the greatest problems of our time is that many are schooled but few are educated”
Sir Thomas More (1478 – 1535)
|
|
|
|
|
You describe well but this is still a question strongly related to c#. As I said before, this forum should be topics about C# but not only C# syntax.
|
|
|
|
|
crunchor wrote: My question is a specific question directly related to C# with possible objective answer. Sorry but it isn't. Your question is about the relative speeds of different languages on different systems, and there is no definitive answer. Some combinations of systems are sometimes faster than others; that is all that can be said with certainty.
Use the best guess
|
|
|
|
|
variable E is the hardware, which is a constant
A is C#, B is latest windows like windows 7 64bits ultimate. Combine to run a script in constant E to have a speed number
C is Java, D is a popular linux Ubunut 64 bits. Combine to run a 99.9% similar script in constant E to have a speed number
These two results can be calculated, and the result must have 99.9% confidence level to believe even the script would have 0.1% different.
A and C are programming languages and both are directly in formula, so discuss in either java or C# forum perfectly make sense.
If the graph is based on same machine, and very likely it is, the conclusion is Java+linux is faster than c#+windows, but it is hard to directly compare Java and C# since those have very different speed in different OS.
This is the conclusion already, my question is WHY and HOW.
|
|
|
|
|
We have ALL explained, and you just don't seem able to understand a simple point. The issue has nothing to do with Java or .NET. It's down to the operating system. I'm really not sure how many different ways we can tell you this before you get the point. You seem to fixate on one thing and aren't prepared to listen to answers that contradict that point. The conclusion here is that a program running on Linux outperforms a program running on Windows.
The only way to do a comparison would be to test a program that directly compiles down to an executable on both platforms, and see how they compare. And no - your question has nothing to do with C# - that's only one small part in this equation.
|
|
|
|
|
then why c# is much slower than java in linux? The link has this result too. As i just said, it is os+language, not just one of these.
|
|
|
|
|
You aren't comparing like for like. That's the problem, and I can't see how you don't get that. Java running on Linux runs faster because there's less overhead on Linux. How can you not understand this? If you are that obsessed with speed, write it in C or Assembly.
|
|
|
|
|
then why c# in linux is also slower than java in linux? Less overhead in linux cannot be a reason for this case.
|
|
|
|
|
C# on Linux is not an official product. It has nothing to do with Microsoft - it's implemented through something called Mono. There is no .NET for Linux.
|
|
|
|
|
This is a C# forum, not .net
|
|
|
|
|
Something else you don't understand.
Use the best guess
|
|
|
|
|
C# is a only windows language? You think so?
|
|
|
|
|
What are you talking about?
C# runs within the .NET framework on Windows and under the MONO framework in Linux. If you don't understand that basic fact then you will never understand what people are trying to explain to you.
Use the best guess
|
|
|
|
|
Of course I know, then what's wrong to compare c# and java in linux? Mono has been around for years and it can let c# runs pretty fast in linux, and some people say nowadays mono let c# runs even faster than in linux than the .net in windows.
|
|
|
|
|
crunchor wrote: what's wrong to compare c# and java in linux? Because they are different in so many ways.
crunchor wrote: some people say nowadays mono let c# runs even faster than in linux than the .net in windows. Some people say the moon is made of green cheese.
Use the best guess
|
|
|
|
|
so you agree C# cannot be fast than java with linux in any kind of OS or situation, cool.
|
|
|
|
|
crunchor wrote: so you agree C# cannot be fast than java with linux in any kind of OS or situation, No I don't agree, of course it can be faster. You really need to learn a bit more about these platforms, and even perhaps computing in general. And please, do not try putting words in my mouth in the hope of winning a rather specious argument.
Use the best guess
|
|
|
|
|
Your argument is my question is not a programming question. The fact is that one of the main reasons for people to choose a programming language is because of speed. We would not use C++ just because we like it, we choose C++ because it is fast, and this is a good discussion about why it is fast. For the same reason, it is good to discuss why should we choose java or C#, and why it is faster under some environment, like windows or linux. Is that Java is specific designed to be ran faster in linux so that it can make c# less competitive? This is a good discussion. All of these are very good discussion related to C# and I cannot see why this post should not be in this C# forum.
|
|
|
|
|
crunchor wrote: Your argument is my question is not a programming question. Well it isn't, as I and a number of other CP regulars have tried to explain. If you cannot see that for yourself there is little more that we can do.
crunchor wrote: The fact is that one of the main reasons for people to choose a programming language is because of speed. That is very rarely the reason these days.
crunchor wrote: This is a good discussion. Perhaps, but it is still not a programming question, so it does not belong in this forum.
crunchor wrote: I cannot see why this post should not be in this C# forum. There's none so blind ...
Use the best guess
|
|
|
|
|
if speed is not an issue, then why would anyone use C++? It takes much longer time to develop the same thing comparing to c# and Java.
|
|
|
|
|
You really seem to understand absolutely nothing about software development.
Use the best guess
|
|
|
|
|
That must be you. You sound like you like to use c# but not c++ just because you like the character #.
|
|
|
|
|
crunchor wrote: You sound like you like to use c# but not c++ just because you like the character #. You know absolutely nothing about me so don't make assumptions.
Use the best guess
|
|
|
|
|
Your talk shows you are priceless.
|
|
|
|