From: Jeffrey Carter <jeffrey.carter@boeing.com>
Subject: Re: What is faster Ada or C?
Date: Fri, 7 Dec 2001 18:19:15 GMT
Date: 2001-12-07T18:19:15+00:00 [thread overview]
Message-ID: <3C110823.4BC6FF07@boeing.com> (raw)
In-Reply-To: 3C10C26B.AA451459@nbi.dk
Jacob Sparre Andersen wrote:
> * Why are the two programs below not equivalent?
> * How can I get the Ada program to run as fast as the C++
> program?
>
> Ada:
>
> Compilation...: gnatmake sqrt_timer -O3 -gnatn
> Execution time: 3460 ms
> Source code:
>
> with Ada.Numerics.Generic_Elementary_Functions;
> with Ada.Text_IO;
> with Interfaces.C;
>
> procedure Sqrt_Timer is
>
> type Scalar is new Interfaces.C.Double;
>
> package Math is new
> Ada.Numerics.Generic_Elementary_Functions (Scalar);
>
> function Sqrt (Item : in Scalar) return Scalar renames
> Math.Sqrt;
> pragma Inline (Sqrt);
>
> X : Scalar := 2.0;
>
> begin -- Sqrt_Timer
> for i in 1 .. 10_000_000 loop
> X := Sqrt (1.0 + X);
> end loop;
>
> Ada.Text_IO.Put_Line ("X = " & Scalar'Image (X));
> end Sqrt_Timer;
>
> C++
> ===
>
> Compilation...: g++ sqrt_timer.cpp -O3
> Execution time: 1460 ms
> Source code:
>
> #include <math.h>
> #include <iostream.h>
>
> int main (int argl,char* argv[]) {
>
> double x=2.0;
>
> for(int i=0;i<10000000;i++){
> x=sqrt(1.0+x);
> };
>
> cout << x << endl;
> };
Turn off runtime checks in Ada, or add them to the C++.
Ada's Sqrt is pickier than C/++'s; use the C sqrt from Ada.
C++'s for is really a while preceded by an assignment with an increment
added at the end; use the same structure in Ada.
Make C++ output "X = ", too.
--
Jeffrey Carter
next prev parent reply other threads:[~2001-12-07 18:19 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-01 1:22 What is faster Ada or C? Heiko Hamann
2001-12-01 1:43 ` Aaro Koskinen
2001-12-03 8:49 ` John McCabe
2001-12-04 23:00 ` Florian Weimer
2001-12-05 15:53 ` Ted Dennison
2001-12-06 0:17 ` Jeffrey Carter
2001-12-10 15:18 ` Dale Pontius
2001-12-10 17:44 ` Pascal Obry
2001-12-01 3:44 ` Nick Roberts
2001-12-01 20:09 ` Heiko Hamann
2001-12-02 4:49 ` Jeffrey Carter
2001-12-02 10:44 ` Pascal Obry
2001-12-04 11:43 ` john mann
2001-12-04 14:25 ` Ted Dennison
2001-12-05 9:46 ` John McCabe
2001-12-02 10:07 ` Mark Lundquist
2001-12-03 14:43 ` Ted Dennison
2001-12-09 12:31 ` Robert Dewar
2001-12-01 9:26 ` Gisle Sælensminde
2001-12-01 10:13 ` Pascal Obry
2001-12-02 17:49 ` Bertrand Augereau
2001-12-03 14:39 ` Ted Dennison
2001-12-03 16:19 ` Jeffrey Carter
2001-12-03 19:04 ` Ted Dennison
2001-12-03 20:56 ` Georg Bauhaus
2001-12-03 21:17 ` Preben Randhol
2001-12-03 21:20 ` Preben Randhol
2001-12-04 23:02 ` Florian Weimer
2001-12-05 16:05 ` Georg Bauhaus
2001-12-06 23:33 ` Florian Weimer
2001-12-04 2:35 ` Jeffrey Carter
2001-12-04 6:54 ` Steven Deller
2001-12-04 22:05 ` Bertrand Augereau
2001-12-06 4:25 ` Richard Riehle
2001-12-07 20:02 ` Hyman Rosen
2001-12-09 19:32 ` Richard Riehle
2001-12-11 16:14 ` Hyman Rosen
2001-12-14 0:36 ` Will
2001-12-19 22:23 ` Hyman Rosen
2001-12-17 17:37 ` Richard Riehle
2001-12-20 23:02 ` Hyman Rosen
2001-12-23 4:12 ` Will
2001-12-23 6:41 ` James Rogers
2001-12-04 22:37 ` Pascal Obry
2001-12-05 15:57 ` Georg Bauhaus
2001-12-05 17:12 ` Larry Kilgallen
2001-12-07 13:21 ` Jacob Sparre Andersen
2001-12-07 15:16 ` Aaro Koskinen
2001-12-07 16:50 ` Preben Randhol
2001-12-07 17:03 ` Jacob Sparre Andersen
2001-12-07 17:26 ` Aaro Koskinen
2001-12-07 18:32 ` Preben Randhol
2001-12-07 20:23 ` Wes Groleau
2001-12-07 17:11 ` Ted Dennison
2001-12-07 18:47 ` Preben Randhol
2001-12-07 16:16 ` Preben Randhol
2001-12-07 17:04 ` Jacob Sparre Andersen
2001-12-07 16:26 ` Ted Dennison
2001-12-07 17:08 ` Jacob Sparre Andersen
2001-12-09 12:27 ` Robert Dewar
2001-12-10 16:51 ` Jacob Sparre Andersen
2001-12-10 17:33 ` Jeff Creem
2001-12-07 16:45 ` Georg Bauhaus
2001-12-07 17:02 ` Preben Randhol
2001-12-07 17:10 ` Jacob Sparre Andersen
2001-12-07 18:12 ` Pascal Obry
2001-12-07 18:50 ` Preben Randhol
2001-12-07 18:54 ` Pascal Obry
2001-12-07 20:40 ` Preben Randhol
2001-12-07 22:01 ` Pascal Obry
2001-12-07 18:19 ` Jeffrey Carter [this message]
2001-12-10 9:59 ` Ole-Hjalmar Kristensen
-- strict thread matches above, loose matches on Subject: below --
2001-12-02 19:37 Gautier Write-only-address
2001-12-23 10:33 Gautier Write-only-address
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox