C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

c versus c++, performance wise

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language (comp.lang.c++)
View previous topic :: View next topic  
Author Message
Fred
Guest





PostPosted: Tue Oct 28, 2003 4:42 pm    Post subject: c versus c++, performance wise Reply with quote



Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

Signal Processing algorithms would be welcome...

Thanks

Fred
Back to top
Andrew Koenig
Guest





PostPosted: Tue Oct 28, 2003 4:44 pm    Post subject: Re: c versus c++, performance wise Reply with quote



Quote:
Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

Signal Processing algorithms would be welcome...

As a general rule of thumb, if you write C programs and compile them with a
C++ compiler, they will run just as fast as if they were compiled with a C
compiler.

If you want to write C++ programs that cannot be expressed in an obvious way
as C programs, then it is hard to understand what kind of performance
comparisons are meaningful.



Back to top
Peter van Merkerk
Guest





PostPosted: Tue Oct 28, 2003 5:01 pm    Post subject: Re: c versus c++, performance wise Reply with quote



Quote:
Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

Signal Processing algorithms would be welcome...

http://www.objectmentor.com/resources/articles/WhyAreYouStillUsingC.pdf

Eventually it boils down to how you use C++. Given that almost all C
code can also compile on C++ compilers, C++ can be at least as effecient
as C. C++ offeres also some features to give you the option to achieve a
better balance between elegancy, reusability and/or safety on one side
and performance on the other side. And even though some C++ features
(like virtual functions) have a run-time overhead, it is important to
realize that if you want to accomplish the same thing in C (like using
switch/case) it also has performance penalty.
--
Peter van Merkerk
peter.van.merkerk(at)dse.nl



Back to top
Andrey Tarasevich
Guest





PostPosted: Tue Oct 28, 2003 6:09 pm    Post subject: Re: c versus c++, performance wise Reply with quote

Fred wrote:
Quote:
Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?
...

Since C++ includes C as a subset (yes, there are some differences, but
they are non-essential within the context of this question), there's
absolutely no reason for any difference in "execution speed" to exist.
It doesn't.

If you are asking for a purely _statistical_ comparison, based on
performance of some existing products that implement similar
functionality in C and C++, I don't have this information. But than
again, this would be the type of statistics that can be used to prove
anything...

--
Best regards,
Andrey Tarasevich
Brainbench C and C++ Programming MVP


Back to top
Paul M. Parks
Guest





PostPosted: Tue Oct 28, 2003 6:17 pm    Post subject: Re: c versus c++, performance wise Reply with quote

[email]frederic.lamy (AT) sysde (DOT) eads.net[/email] (Fred) threw a soggy newspaper against the
wall, and here's what stuck:

Quote:
Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

Signal Processing algorithms would be welcome...

This might be worth a read: "Technical Report on C++ Performance"

http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1430.pdf

PMP

Back to top
Alex Vinokur
Guest





PostPosted: Tue Oct 28, 2003 6:34 pm    Post subject: Re: c versus c++, performance wise Reply with quote


"Paul M. Parks" <paulmparks (AT) hNoOtSmPaAiMl (DOT) com> wrote

Quote:
frederic.lamy (AT) sysde (DOT) eads.net (Fred) threw a soggy newspaper against the
wall, and here's what stuck:

Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

Signal Processing algorithms would be welcome...

This might be worth a read: "Technical Report on C++ Performance"

http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1430.pdf

PMP

Also :
Technical Report on C++ Performance (ISO/IEC PDTR 18015; Date: 2003-08-11; WG21 N1487=03-0070)
* http://std.dkuug.dk/JTC1/SC22/WG21/docs/PDTR18015.pdf
* http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1487.pdf


--
=====================================
Alex Vinokur
mailto:alexvn (AT) connect (DOT) to
http://mathforum.org/library/view/10978.html
news://news.gmane.org/gmane.comp.lang.c++.perfometer
=====================================




Back to top
Alex Vinokur
Guest





PostPosted: Tue Oct 28, 2003 6:41 pm    Post subject: Re: c versus c++, performance wise Reply with quote


"Fred" <frederic.lamy (AT) sysde (DOT) eads.net> wrote

Quote:
Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

Signal Processing algorithms would be welcome...

Thanks

Fred

Look at :
http://groups.google.com/groups?selm=bd221m%24oh654%241%40ID-79865.news.dfncis.de
http://news.gmane.org/gmane.comp.lang.c++.perfometer/
news://news.gmane.org/gmane.comp.lang.c++.perfometer

http://www.eventhelix.com/RealtimeMantra/basics/ComparingCPPAndCPerformance.htm
http://www.eventhelix.com/RealtimeMantra/basics/ComparingCPPAndCPerformance2.htm
http://www.eventhelix.com/RealtimeMantra/Basics/OptimizingCAndCPPCode.htm

--
=====================================
Alex Vinokur
mailto:alexvn (AT) connect (DOT) to
http://mathforum.org/library/view/10978.html
=====================================




Back to top
E. Robert Tisdale
Guest





PostPosted: Tue Oct 28, 2003 7:19 pm    Post subject: Re: C versus C++, performance wise Reply with quote

Fred wrote:

Quote:
Has anyone a link or any information comparing C and C++
as far as execution speed is concerned?

Signal Processing algorithms would be welcome...


Take a look at the
Vector Signal and Image Processing Library (VSIPL) web page:

http://www.vsipl.org/

and the
High Performance Embedded Computing Software Initiative (HPEC-SI)
web page:

http://www.hpec-si.org/

They specify *standard* APIs for DSP libraries
which should permit you to compare implementations
from competing vendors and, eventually, to compare implementations
for both C and C++ language bindings.
Some vendors may actually use C++ compilers to compile their C codes.


Back to top
Paul M. Parks
Guest





PostPosted: Tue Oct 28, 2003 7:35 pm    Post subject: Re: c versus c++, performance wise Reply with quote

"Alex Vinokur" <alexvn (AT) bigfoot (DOT) com> threw a soggy newspaper against the
wall, and here's what stuck:

Quote:
"Paul M. Parks" <paulmparks (AT) hNoOtSmPaAiMl (DOT) com> wrote in message
news:Xns94228730E8571DarthPaulOfDuluth (AT) 216 (DOT) 168.3.44...

This might be worth a read: "Technical Report on C++ Performance"


Also :
Technical Report on C++ Performance (ISO/IEC PDTR 18015; Date:
2003-08-11; WG21 N1487=03-0070) *
http://std.dkuug.dk/JTC1/SC22/WG21/docs/PDTR18015.pdf *
http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1487.pdf

Oops. Thanks for clearing that up.

PMP

Back to top
Dave Baum
Guest





PostPosted: Tue Oct 28, 2003 8:05 pm    Post subject: Re: c versus c++, performance wise Reply with quote

In article <332a00fd.0310280842.5d09ead (AT) posting (DOT) google.com>,
[email]frederic.lamy (AT) sysde (DOT) eads.net[/email] (Fred) wrote:

Quote:
Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

A lot depends on how you write your C++ code.

As a baseline, you could write your program just like you would in C but
compile it with a C++ compiler. The performance of C vs. C++ is a wash
here. Of course this may sound obvbious, but I think it is an important
point because in most systems, performance is only an issue for a subset
of the code. With C++ you can always fall back to C-style programming
in areas where your program needs the performance and where C++ style
code would lead to an unacceptable performance penalty.

For example, the iostream library provides a lot more power than stdio,
but it also tends to run slower. If this isn't critical to your system
performance, then iostream is worth learning/using. However I wrote one
program where logging was a significant part of the overall system
performance and using iostream was about 3x slower than fprintf(), so I
wound up using fprintf(). The decision to write the program in C++ was
still a good one since I benefited from many of the C++ mechanisms
throughout the rest of the program and only had to fall back to a more
"C-like" approach in this one instance.

C++ has quite a few features (const, inline functions, templates) that
afford better abstraction than C, but when used properly, result in no
performance penalty.

There are a few instances (exceptions, virtual functions) where the
resulting code is usually more efficient than what you would've written
yourself in C - provided you needed the functionality. For example,
exceptions are often more efficient than explicit error checking, but if
your C program wasn't going to check errors, then exceptions aren't
helping you. Same with virtual functions versus switch statements or
explicit function pointers.

With the complexity and power of C++ comes a lot of potential for
problems - especially performance wise. This can be a real concern for
a performance sensitive project staffed by people who are solid C
programmers but new to C++. My only advice would be to go ahead and use
C++, but be disciplined in what features you use. Don't make everything
a virtual function and create a deep object hierarchy just because you
can in C++. It would also be worth reading up on some common pitfalls
and optimizations for C++ ("Effective C++" by Meyers is an excellent
book on the subject).

Dave Baum

Back to top
lilburne
Guest





PostPosted: Tue Oct 28, 2003 8:46 pm    Post subject: Re: c versus c++, performance wise Reply with quote

Fred wrote:

Quote:
Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

Signal Processing algorithms would be welcome...


We do a lot of mathematical computations, and some of our
original computational algorithms, solvers, etc were written
in fortran 20-30 years, when we converted them to C++ and
compared the old with the new we recorded negligible (2%)
performance degradation.


Back to top
Dimitris Kamenopoulos
Guest





PostPosted: Wed Oct 29, 2003 7:49 am    Post subject: Re: c versus c++, performance wise Reply with quote

Fred wrote:

Quote:
Has anyone a link or any information comparing c and c++ as far as
execution speed is concerned?

Under linux, compile the same source (e.g. Hello World) as C and C++. You
will notice that the C executable runs slightly faster. This happens
because the C version is linked only against libc, whereas the C++ version
is linked against libc, libstdc++, libgcc_s and libm. So there exists a
slight (almost constant, you can verify that by ) performance penalty, due
to increased *loading* time. At *run* time, there is no observable
difference. You can verify it by running a large loop.

Not that this only happens with dynamic executables. Static executables
don't seem to have any difference whatsoever.


Back to top
Sandeep
Guest





PostPosted: Fri Oct 31, 2003 4:30 am    Post subject: Re: c versus c++, performance wise Reply with quote

The following articles compare C and C++ performance by comparing the
C++ code with equivalent C code.

http://www.eventhelix.com/RealtimeMantra/basics/ComparingCPPAndCPerformance.htm

http://www.eventhelix.com/RealtimeMantra/basics/ComparingCPPAndCPerformance2.htm

Sandeep
--
http://www.EventHelix.com/EventStudio
EventStudio 2.0 - System Architecture Design CASE Tool
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language (comp.lang.c++) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.