• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 460
  • Last Modified:

Fastest Programming Language for A Slow Algorithm

Hi..

I'm currently working on a thesis about Morphological Analysis thru Decision Trees. Lately, we found out that the time of processing a single transaction will take less than 5 minutes.. I just need suggestions on which programming language will be suitable for our project. I've been thinking about VC++ and VB6 but our professor told us that VB6 is quite unstable. We thought of programming in DOS but we are required to develop a Windows app.

Any suggestions are greatly appreciated =)
0
justin_316_sr
Asked:
justin_316_sr
2 Solutions
 
sunnycoderCommented:
Hi justin_316_sr,

Lesser the abstraction, higher the speed ...

Assembly will be the fastest but it is too hard to think of implementing a complex algorithm using assembly ...

I would recommend C++ or C ... In either case, you can descend into assembly to write tight code whenever required .... Code will be far more manageable and fast that way.

Wether to use C or C++ depends on you. What are you confortable with and what sort of program are you looking for? Will OOP be an advantage with that program or is it more of a procedural thing ?

Sunnycoder
0
 
TimYatesCommented:
java is quite quick now too, so long as you code it right ;-)
0
 
bcladdCommented:
I would second sunnycoder's suggestion of using C/C++ (though I tend to favor C++ on principle because you get the STL and and can use those data structures quickly and easily unless they prove slow). What are you implementing your program in now? That is, what program is taking 5 minutes per transaction?

Another question is are you comfortable with your algorithm being as optimized as possible? That is, does it avoid unnecessary work (sorting a sequence more than once when it hasn't changed or using an O(n^2) sort, for example)? Just checking because the best speedups always come at the algorithm level.

-bcl
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
justin_316_srAuthor Commented:
actually.. we're in the process of researching algorithms related to our topic.. we are not in the implementation stage yet..

basically our program will take a word and chop the rootword from the affixes.. but before doing that it must learn from a list of words given its output. i believe that we cannot alter the algorithm since the main purpose of our study is basically the implementation of this new approach in morphology. We must stick to the algo and try to make it fit to the transaction.

But ill consult our thesis adviser about speeding up the algorithm..

Thanks A lot... =)
0
 
sridharj_apCommented:
hi,

Is the algorithm too lengthy? What I mean is that if the algorithm were implemented, how many lines of code would it be?

The point I am trying to say is: Implement in all three - Assembly, VC++ and Java (use code optimizer tools along with plain compilation). Run the program atleast 20 times and compute average for each language. Decide which is the fastest. You may also want to balance performance and maintainability. The three languages are mentioned on an increasing scale of maintainability.

Regards
Sridhar

P.S: I would personally suggest VC++ - it can build a rich GUI while harnessing the power of C/C++.
0
 
lamdorCommented:
Hi,

 I feel Java will be better for these kinds of application. You have many libraries to implement these kinds of Image Manipulation / Traslation.

 If you really want to go for more programming and want to very hign speed then C++ is the another option.

 P.S : I personally go though Java if this is the case.

With Regards,
Lamdor.
0
 
justin_316_srAuthor Commented:
i need the speed of VC++ but i think i will stick with Java since i saw an open source library for machine learning which our thesis group will need. (WEKA, MLJ) By the way
0
 
TimYatesCommented:
...
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now