Page 1 of 1

Comparing computational speeds

Posted: Wed Nov 07, 2012 10:27 pm
by deleted-116440
Hello,

My name is Royce, and I am planning to have a project comparing multiplication speeds of two algorithms. One of these algorithms is based off of the CORDIC algorithm. I would like to use a platform which already has the CORDIC algorithm already coded, yet I could not find it anywhere online. I have researched sufficiently on my topic but I have no clue where to start when it comes to the programming segment of my experiment.


As a student without experience in Computer Programming, what platform should I use to to create my algorithm, given that I have 2-3 months to learn a language/platform?

What do I need to get started with programming? What program do I need? Which books/resources can you suggest?

Also, what can I use to time process speed?


Thank you for your time dear experts!

Re: Comparing computational speeds

Posted: Sat Nov 10, 2012 11:45 am
by deleted-76520
Hello Royce!

I've done a few quick searches, and I couldn't find a built-in CORDIC algorithm either. However, I did find some implementations that you might be able to look at for your background research. If you're familiar with the math, a Google or Google Scholar search of "CORDIC Algorithm" should turn up a few helpful results. I'd recommend reading as many of the papers on Google Scholar as you can; though they can be hard to understand, they will also contain the greatest depth of information.

In my experience, Java is the easiest language to learn, but for this application I'd actually highly recommend that you use C++ or MatLab. C++ is free, but MatLab will cost you some money. Both of those are generally good for algorithms and are fairly easy to learn quickly. There are plenty of online tutorials that you might be able to use- again, a Google search should turn up good results for those.

C++ has reliable functions for you to measure and record system time before and after a process; I think MatLab also has something similar.

For actual programming mechanics, I would recommend starting with simple programs and getting familiar with the language before attempting to code your algorithm. From there, I'd suggest that you first implement the CORDIC algorithm, then make the modifications necessary for your approach.

Feel free to ask if something is unclear- I typed this up in a little bit of a hurry, and may have accidentally skipped important information.

Hope this helped!

Re: Comparing computational speeds

Posted: Thu Nov 15, 2012 3:12 pm
by deleted-71771
While the approach used to initiate a programming project above is very good, I would suggest that you reconsider trying to develop software source code in the time that you have available especially considering that you do not have experience with programming. Learning to programming well takes considerable time (probably more time than you have available). I would hate to have you spend precious time and learn later on that this project is not doable.

That said, perhaps another approach to compare systems is to use simulation packages to recreate conditions that are exploring and see what the results are from simulation models. It would require understanding the simulation's underlying theory, its limitations (what conditions can be accurately modeled), and what the results mean. Suggest that you come up with a problem that you have interest in and find the corresponding modeling software to do your research.

Some sample modeling software:

http://usa.autodesk.com/simulation-software/

http://www.simio.com/index.html

Good luck!

Re: Comparing computational speeds

Posted: Thu Nov 15, 2012 4:01 pm
by hhemken
I agree that learning how to program in a couple of months is fraught with peril.

Since you are evaluating raw algorithm speed you would probably want to use a compiled language like C, C++, or (gods forbid) fortran. These are not easy to master, and there is all sorts of trickery and depth to evaluating algorithms that way. People have written PhD theses and weighty academic monographs on the subject.

Google these terms to find free alternatives to MatLab:

Code: Select all

open source matlab replacement
I would recommend you start off with one or two of those. That is far more do-able in the time budget you have and won't require spending lots of money.

Good luck!

Heinz Hemken