Interesting , Im a bit suspicious of this, often c and C++ show similar benchmarks for simple benchmarks but in more complex systems you really begin testing the inline limits. The moment you can't inline the method you get a significant performance drop ( For repeat mathematical type work) , and if you use too much you get code bloat and will get cache misses.
Templates probably can get better results than pure C++ as they allow for better inline code but I doubt they would beat C except for maybe a very small % for simple functions. Regards , Ben > -----Original Message----- > From: Unmoderated discussion of advanced .NET topics. [mailto:ADVANCED- > [EMAIL PROTECTED] On Behalf Of George V. Reilly > Sent: Saturday, 9 July 2005 6:33 AM > To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > Subject: Re: [ADVANCED-DOTNET] Is C++ better over .NET Math library ? > > On the other hand, some C++ compilers are getting _better_ results for > numeric code than C compilers, due to aggressive template optimizations. > You might look at www.boost.org to see if they have anything useful. > > -- > We can only learn to love by loving. > -- Iris Murdoch > (Get Witty Auto-Generated Signatures from http://SmartBee.org) > /George V. Reilly mailto:[EMAIL PROTECTED] > Read my blog: http://georgevreilly.com/blog > > > > > Vijay M wrote: > > Ben, > > > > Thanks for the tip. Performance is very important for the code i am > > writing but thought that a OO programming platform would ease the > > development a little bit. Oh well. Guess i do have to do it in C or > > Fortran. > > > > I imagined that .NET 2.0 would bring in lots of performance improvements > > in the framework or that's what i remember reading in one of the blogs > at > > MSDN. But like you said, a procedural language will definitely be faster > > than any of the OOP languages, anytime ! > > > > Thanks for all the help guys. > > > > On Fri, 8 Jul 2005 12:47:26 +1000, Ben Kloosterman > > <[EMAIL PROTECTED]> wrote: > > > > > >> If you are doing lots of iterations and care about performance you are > >> probably best of writing in C . I once converted a compression program > >> > > >from C to C++ and the performance halved because of the class call > > > >> overhead (even trying to maximise in lining) . > >> > >> Ben > >> > >> > >>> -----Original Message----- > >>> From: Unmoderated discussion of advanced .NET topics. > >>> > >> [mailto:ADVANCED- > >> > >>> [EMAIL PROTECTED] On Behalf Of Vijay Mahadevan > >>> Sent: Friday, 8 July 2005 12:38 PM > >>> To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > >>> Subject: Re: [ADVANCED-DOTNET] Is C++ better over .NET Math library ? > >>> > >>> Dixon, Thanks for the link. The article was useful but very broad > >>> based on all scientific applications. It has some good tips on > >>> maximizing and optimising the memory used in a virtual environment > >>> while using arrays, vectors and matrices. Though it is part of what i > >>> need, it doesn't answer my question entirely. I am also looking for > >>> improving performance in Math section of .NET libraries and if it can > >>> be made to perform comparably to C++. > >>> > >>> William, Math.NET is a general mathematical library to perform > >>> operations of wide range. I already had a look at the Math.NET code > >>> and think that the library is not designed with speed in mind but to > >>> be a helper for applications that need to utilize some of the advanced > >>> math functions. > >>> > >>> Here is something that interested me. > >>> Extreme Optimization Mathematics Library for .NET > >>> http://www.extremeoptimization.com/Mathematics/Performance.aspx > >>> > >>> It is a commercial product but a look and an option to change the code > >>> would be much more helpful. > >>> > >>> Has anyone dealt with Vectors and Matrices extensively in any of your > >>> projects ? Do you have a C# implementation of the same and can you > >>> redirect me to a place where there is any info on that ?! > >>> > >>> Anyway, thanks a lot for the replies guys ! > >>> > >>> On 7/7/05, William Bartholomew <[EMAIL PROTECTED]> wrote: > >>> > >>>> You may want to look at: > >>>> > >>>> http://www.cdrnet.net/projects/nmath/ > >>>> > >>>> On 7/8/05, Vijay M <[EMAIL PROTECTED]> wrote: > >>>> > >>>>> Hi everyone. > >>>>> > >>>>> I currently have a numerical simulation code working in MATLAB. > >>>>> > >> The > >> > >>> code > >>> > >>>>> is for a scientific application and the complexity involved till > >>>>> > >> now > >> > >>> has > >>> > >>>>> not been much. The simulation is based on solving a non-linear > >>>>> > >> system > >> > >>>>> which involves lots of iterations, the primary method being > >>>>> > >> Newton's > >> > >>>>> method or Fixed point method. Since the complexity has been > >>>>> > >> minimal, > >> > >>>>> MATLAB did support all the requirements but the speed was an > >>>>> > >> issue. > >> > >>>>> Moving on, the next set of requirements involves heavy computation > >>>>> > >>> with > >>> > >>>>> over millions of iterations. I am concerned about the usage of > >>>>> > >> MATLAB > >> > >>> for > >>> > >>>>> this scenario and would like to move on to a faster platform. I > >>>>> > >> first > >> > >>>>> considered C++ and then C#. I have worked on .NET for 2 years but > >>>>> > >>> havent > >>> > >>>>> done much work on the Math side of the framework. > >>>>> > >>>>> Now is there a specific reason to choose C++ over .NET for such an > >>>>> application ? Speed being a important consideration, what would > >>>>> > >> you > >> > >>> guys > >>> > >>>>> suggest from your personal experience ? > >>>>> > >>>>> I have lots of calculations with vectors and matrices. So i am > >>>>> > >> also > >> > >>>>> looking for a good implementation of BLAS/LAPACK in C# (If .NET > >>>>> > >> works > >> > >>>>> better !) with comparable performance to its native predecessor ! > >>>>> > >>> Anyone > >>> > >>>>> know any ?? > >>>>> > >>>>> Although i do believe benchmarks are useless without the > >>>>> > >> parameters, > >> > >>> all > >>> > >>>>> of them do suggest that VC++ is much better than VC#. Intuitively > >>>>> > >> i > >> > >>>>> guessed that but are there any specific compiler options to > >>>>> > >> optimize > >> > >>> the > >>> > >>>>> execution of certain math operations in C# to maximize the > >>>>> > >> performance > >> > >>> ? > >>> > >>>>> Sorry for such a long background on what i was doing but felt that > >>>>> > >> it > >> > >>> was > >>> > >>>>> necessary. Thanks for any help you guys can provide. > >>>>> > >>>>> -Vijay > >>>>> > >>>>> =================================== > >>>>> This list is hosted by DevelopMentor(r) http://www.develop.com > >>>>> > >>>>> View archives and manage your subscription(s) at > >>>>> > >>> http://discuss.develop.com > >>> > >>>> -- > >>>> > >>>> Regards, > >>>> > >>>> William D. Bartholomew > >>>> http://blog.bartholomew.id.au/ > >>>> > >>>> =================================== > >>>> This list is hosted by DevelopMentor(r) http://www.develop.com > >>>> > >>>> View archives and manage your subscription(s) at > >>>> > >>> http://discuss.develop.com > >>> > >>> =================================== > >>> This list is hosted by DevelopMentor(r) http://www.develop.com > >>> > >>> View archives and manage your subscription(s) at > >>> http://discuss.develop.com > >>> > >> =================================== > >> This list is hosted by DevelopMentor(r) http://www.develop.com > >> > >> View archives and manage your subscription(s) at > >> > > http://discuss.develop.com > > > > B > > > > =================================== > > This list is hosted by DevelopMentor(r) http://www.develop.com > > > > View archives and manage your subscription(s) at > http://discuss.develop.com > > > > > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com