I would like to try Evolutionary Programming.
I usually write in c#, but I have heard that other languages have a better performance at this kind of task. The project could get rather large so this would be an issue.
Is this true or is there a way to achieve a high performance with c# as well? Are there existing libraries to help with that?
5 replies to this topic
#1
Posted 30 May 2011 - 06:22 AM
|
|
|
#2
Posted 30 May 2011 - 08:50 AM
C++ gets closest to the hardware!
#3
Posted 30 May 2011 - 09:35 AM
da beast said:
C++ gets closest to the hardware!
anotheruser said:
I usually write in c#
Aforge.NET library has a good example on genetic programming here:
/ - aforge - AForge.NET Framework - Google Project Hosting
And also there is an MSDN magazine issue from 2004 writing about genetic programming (with visual forms as well):
Natural Selection with Windows Forms using C# and CodeDOM
I am not so familiar with either however.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
#4
Posted 30 May 2011 - 06:46 PM
Alexander said:
C++ exists because it is not closest to the hardware, it provides many abstractions.
C# is typically not used as a low-level language, even when it is unmanaged, but c++ is.
If you want ease, go with c# if you want performance go with c++.
#5
Posted 30 May 2011 - 09:37 PM
da beast said:
C# is typically not used as a low-level language, even when it is unmanaged, but c++ is.
If you want ease, go with c# if you want performance go with c++.
If you want ease, go with c# if you want performance go with c++.
C# and Java utilize a just in time compiler of which can apply optimizations C++ cannot, it really depends. C# is not the lowest language in the barrel, although for this type of programming you will have to do it in C to see any real performance over C++.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
#6
Posted 31 May 2011 - 01:06 AM
Thanks for the quick replies.
I think I'm going to try it in c# with the AForge.NET Framework. I suppose I can still learn a more efficient language later and auto-translate what I already have.
edit:
I just found something called CodeDom that can be used to create and execute Programs at runtime. Seeing as what I plan to do is not exactly Genetic Programming but a variation and AForge seems very specific, I think I will try to use this first.
But now I have another question regarding performance:
In this program I want to write I would need to call some functions extremely often and others very rarely. I would need to create a database where all those functions are stored so I don't have to load every single one each time I start the program when some may not even be used.
The question is if that would be efficient performance-wise. Can I load frequently used functions from the harddrive and then call them in rapid succession or would there be delays because they don't "belong" to the main application but exist as separate files?
I think I'm going to try it in c# with the AForge.NET Framework. I suppose I can still learn a more efficient language later and auto-translate what I already have.
edit:
I just found something called CodeDom that can be used to create and execute Programs at runtime. Seeing as what I plan to do is not exactly Genetic Programming but a variation and AForge seems very specific, I think I will try to use this first.
But now I have another question regarding performance:
In this program I want to write I would need to call some functions extremely often and others very rarely. I would need to create a database where all those functions are stored so I don't have to load every single one each time I start the program when some may not even be used.
The question is if that would be efficient performance-wise. Can I load frequently used functions from the harddrive and then call them in rapid succession or would there be delays because they don't "belong" to the main application but exist as separate files?
Edited by anotheruser, 31 May 2011 - 02:25 AM.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account


Back to top









