comp.lang.ada
 help / color / mirror / Atom feed
From: Ole-Hjalmar Kristensen <ohk@clustra.com>
Subject: Re: What is faster Ada or C?
Date: 10 Dec 2001 10:59:33 +0100
Date: 2001-12-10T10:59:33+01:00	[thread overview]
Message-ID: <umqu1uz1jlm.fsf@maestro.clustra.com> (raw)
In-Reply-To: 3C10C26B.AA451459@nbi.dk

Jacob Sparre Andersen <sparre@nbi.dk> writes:

> Jeffrey Carter wrote:
> 
> > Robert Dewar has stated here on several occasions that he has some
> > equivalent Ada and C programs that produce identical object code when
> > compiled with gcc.
> 
> Yes.
> 
> Related to that, I have two simple, apparantly equivalent
> programs written in respectively Ada and C++, where the GNU
> Ada and C++ compilers find it difficult to produce even
> roughly equivalent binary code or processing speed.
> 
>  * Why are the two programs below not equivalent?
>  * How can I get the Ada program to run as fast as the C++
> program?

It's probably not a good idea to include IO in testts like this. The
buffer strategy used by the different IO libraries may give very
different results.

> 
> 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;
> };
> 
> 
> Jacob
> -- 
> SSLUG's julekalender - fra den 1. til den 24. december p�:
>                            http://www.sslug.dk/julekalender/

-- 
Kabelsalat ist gesund.

Ole-Hj. Kristensen



  parent reply	other threads:[~2001-12-10  9:59 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
2001-12-10  9:59       ` Ole-Hjalmar Kristensen [this message]
  -- 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