top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Which is the best language for high performance output..

0 votes
624 views

I have a requirement in my project which requires a very high throughput. I need to choose a programming language for this project. Want to know the opinion if the people which language to select keeping the fact that development should be fast and throughput is not compromised.

posted Apr 1, 2013 by Salil Agrawal

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button
Should also say that you haven't defined what you mean by "very high throughput".
Are you talking about the deployed applications performance, the development time, the debugging time, the revision time,…
Depends on what kind of data you are planning on moving... since this is a C & C+ tags, I imagine the answer is going to be C or C+

3 Answers

0 votes

As others have said, the answer depends on many factors. For example, despite being an interpreted language, Python might be the best choice. if you can map the problem onto its numerical methods and array packages, as these will almost certainly be faster than anything you could write yourself in a sensible amount of time. And if you can get the meat of the problem onto a graphics processor, you'll get much higher throughput than you could with languages like C - but only for very specific types of problem.

answer Apr 1, 2013 by anonymous
0 votes

You cant necessarily have the best of both worlds. Code that performs very well depends on (in priority order):

 1) Good algorithm choices.
 2) Understanding the hardware.
 3) Being as close to the metal as possible in the code that executes 
 the most frequently.

My general perspective for a step-by-step approach to any problem:

1) Research the best algorithm for the problem. Dont write code until you think youve got something that will work.
2) Write code that just works. It doesnt have to perform well, just work.
3) Take a code profiler to the code if it needs to go faster. Dont make human decisions for a computer - code profilers work better. The good ones cost money.
4) If something can be optimized, itll be painfully obvious as it bubbles to the top of the list of things the code profiler noticed. Optimize the few lines of code that show up (or come up with a new algorithm) and usually the application will speed up significantly.

Unfortunately, the faster code generally processes data, the uglier it tends to get. With ugly code comes greater responsibility to comment the code accordingly.

Now, as to which language to use, if you are talking about real performance, then most compiled languages will tend to work well. C and C+ are good choices, IMO, when you need pure performance. You havent really specified what you want to do, but, generally-speaking, a good algorithmic design will go far in any language.

answer Apr 2, 2013 by anonymous
0 votes

Pick whatever language in which you are most fluent. Development will be as fast as possible, I would pick C+.

As far as throughput is concerned, I would recommend as wide of a pipe as possible. You are less likely to have clogs and need a plunger.

I would still recommend Ohms Law, it can help you along the way. A lot of volts and not enough amps and your data will move quickly but only a little bit at a time. Too few volts and a lot of amps, and a lot of data
will move but very slowly. For good throughput you need both a lot of volts and a lot of amps, but that can be dangerous, especially with the DC circuits that rule modern microprocessors.

answer Apr 3, 2013 by anonymous
...