comp.lang.ada
 help / color / mirror / Atom feed
From: george.priv@gmail.com
Subject: Re: Robert Dewar's great article about the Strengths of Ada over other langauges in multiprocessing!
Date: Tue, 11 Mar 2008 06:58:43 -0700 (PDT)
Date: 2008-03-11T06:58:43-07:00	[thread overview]
Message-ID: <114f711c-9cf8-4fdb-8f11-77667afb8719@c33g2000hsd.googlegroups.com> (raw)
In-Reply-To: f56d577b-e396-44fc-9b0a-25dcb2311ad2@n36g2000hse.googlegroups.com

On Mar 9, 8:40 am, Vadim Godunko <vgodu...@gmail.com> wrote:
> On Mar 9, 11:20 am, Pascal Obry <pas...@obry.net> wrote:
>
> > I prefer using Ada, even losing 10% performance initially.
>
> I usually have 4+ times penalty for Ada program with controlled object
> for memory allocation/deallocation control and protected objects for
> thread safe operations in comparison with equivalent C++ program. :-(
>
> #include <QString>
> #include <QTime>
>
> void test(unsigned length)
> {
>         uint x[length];
>         QString a[1024];
>         QString b[1024];
>         QTime timer;
>
>         timer.start();
>
>         for (int i = 0; i < 1024; i++)
>         {
>                 a[i] = QString::fromUcs4(x, length);
>         }
>
>         qDebug("Init %d %lf", length, (double)timer.elapsed() / 1000);
>
>         timer.restart();
>
>         for (int i = 0; i < 1000; i++)
>         {
>                 if (i % 2)
>                 {
>                         for (int j = 0; j < 1024; j++)
>                         {
>                                 a[j] = b[j];
>                         }
>                 }
>                 else
>                 {
>                         for (int j = 0; j < 1024; j++)
>                         {
>                                 b[j] = a[j];
>                         }
>                 }
>         }
>
>         qDebug("Copy %d %lf", length, (double)timer.elapsed() / 1000);
>
> }
>
> int main()
> {
>         test (128);
>         test (1024);
>         return 0;
>
> }
>
> with Ada.Calendar;
> with Ada.Wide_Wide_Text_IO;
>
> with League.Strings;
>
> procedure Speed_Test_League is
>
>    type Universal_String_Array is
>      array (Positive range <>) of League.Strings.Universal_String;
>
>    procedure Test (Length : in Positive);
>
>    procedure Test (Length : in Positive) is
>       use type Ada.Calendar.Time;
>
>       X : constant Wide_Wide_String (1 .. Length) := (others => ' ');
>       A : Universal_String_Array (1 .. 1_024);
>       B : Universal_String_Array (1 .. 1_024);
>       S : Ada.Calendar.Time;
>
>    begin
>       S := Ada.Calendar.Clock;
>
>       for J in A'Range loop
>          A (J) := League.Strings.To_Universal_String (X);
>       end loop;
>
>       Ada.Wide_Wide_Text_IO.Put_Line
>        ("Init"
>           & Positive'Wide_Wide_Image (Length)
>           & Duration'Wide_Wide_Image (Ada.Calendar.Clock - S));
>
>       S := Ada.Calendar.Clock;
>
>       for J in 1 .. 1_000 loop
>          if J mod 2 = 1 then
>             B := A;
>
>          else
>             A := B;
>          end if;
>       end loop;
>
>       Ada.Wide_Wide_Text_IO.Put_Line
>        ("Copy"
>           & Positive'Wide_Wide_Image (Length)
>           & Duration'Wide_Wide_Image (Ada.Calendar.Clock - S));
>    end Test;
>
> begin
>    Test (128);
>    Test (1_024);
> end Speed_Test_League;

This code is not multi-core safe.  Are you sure that QString has
Vtab?  If not then comparison will be unfair.



  parent reply	other threads:[~2008-03-11 13:58 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-08  6:04 Robert Dewar's great article about the Strengths of Ada over other langauges in multiprocessing! ME
2008-03-08 22:11 ` Maciej Sobczak
2008-03-09  1:09   ` Christopher Henrich
2008-03-09 13:52     ` Maciej Sobczak
2008-03-09  1:51   ` Phaedrus
2008-03-09  3:17     ` Jeffrey R. Carter
2008-03-09 13:59     ` Maciej Sobczak
2008-03-09  3:15   ` Jeffrey R. Carter
2008-03-09 13:32     ` Maciej Sobczak
2008-03-09 14:02       ` Dmitry A. Kazakov
2008-03-09 18:26       ` Phaedrus
2008-03-10  0:04         ` Ray Blaak
2008-03-10  7:49           ` Georg Bauhaus
2008-03-10 16:48             ` Ray Blaak
2008-03-10  7:53           ` Phaedrus
2008-03-09 22:31       ` Jeffrey R. Carter
2008-03-10  3:53         ` gpriv
2008-03-10  3:04       ` Robert Dewar's great article about the Strengths of Ada over Larry Kilgallen
2008-03-10  9:23         ` Maciej Sobczak
2008-03-10 19:01           ` Jeffrey R. Carter
2008-03-10 22:00             ` Maciej Sobczak
2008-03-11  0:48               ` Jeffrey R. Carter
2008-03-11  7:12                 ` Pascal Obry
2008-03-11  8:59                 ` Maciej Sobczak
2008-03-11  9:49                   ` GNAT bug, Assert_Failure at atree.adb:2893 Ludovic Brenta
2008-03-14 20:03                   ` Robert Dewar's great article about the Strengths of Ada over Ivan Levashew
2008-03-22 21:12           ` Florian Weimer
2008-03-09  8:20   ` Robert Dewar's great article about the Strengths of Ada over other langauges in multiprocessing! Pascal Obry
2008-03-09  9:39     ` Georg Bauhaus
2008-03-09 12:40     ` Vadim Godunko
2008-03-09 13:37       ` Dmitry A. Kazakov
2008-03-09 14:41         ` Vadim Godunko
2008-03-10 20:51           ` Randy Brukardt
2008-03-10 22:30             ` Niklas Holsti
2008-03-10  9:56         ` Ole-Hjalmar Kristensen
2008-03-11 13:58       ` george.priv [this message]
2008-03-11 15:41         ` Vadim Godunko
2008-03-12  0:32           ` gpriv
2008-03-12 13:33             ` Maciej Sobczak
2008-03-12 14:41               ` gpriv
2008-03-12 15:22                 ` Vadim Godunko
2008-03-13  0:34                   ` gpriv
2008-03-12 16:28                 ` Maciej Sobczak
2008-03-12 17:24                   ` Samuel Tardieu
2008-03-13  8:41                     ` Maciej Sobczak
2008-03-13 15:20                       ` Samuel Tardieu
2008-03-12 23:54                   ` gpriv
2008-03-13  9:40                     ` Maciej Sobczak
2008-03-13 10:49                       ` Peter C. Chapin
2008-03-13 13:03                         ` Alex R. Mosteo
2008-03-13 14:02                           ` gpriv
2008-03-14  1:12                           ` Randy Brukardt
2008-03-14 10:16                             ` Alex R. Mosteo
2008-03-13 11:42                       ` gpriv
2008-03-13 16:10                         ` Maciej Sobczak
2008-03-13 16:16                           ` gpriv
2008-03-13 22:01                             ` Simon Wright
2008-03-13 22:25                             ` Maciej Sobczak
2008-03-14  2:07                               ` gpriv
2008-03-14  9:29                                 ` Maciej Sobczak
2008-03-14 21:54                                 ` Simon Wright
2008-03-15  2:29                                   ` gpriv
2008-03-15 13:29                                     ` Maciej Sobczak
2008-03-15 16:09                                       ` gpriv
2008-03-11 22:09       ` gpriv
2008-03-09 13:50     ` Maciej Sobczak
2008-03-09 14:54       ` Pascal Obry
2008-03-10 21:24   ` Randy Brukardt
2008-03-11 10:12     ` Alex R. Mosteo
2008-03-22 22:43     ` Florian Weimer
2008-03-26 13:49       ` Ole-Hjalmar Kristensen
2008-03-26 21:27         ` Florian Weimer
2008-03-27  9:31           ` Ole-Hjalmar Kristensen
2008-03-27 23:10             ` Florian Weimer
2008-03-28  9:51               ` Ole-Hjalmar Kristensen
2008-03-28 18:12                 ` Florian Weimer
2008-03-28 21:45                   ` Randy Brukardt
2008-03-31  7:59                   ` Ole-Hjalmar Kristensen
2008-03-31 13:03                     ` (see below)
2008-03-31 14:17                       ` (see below)
2008-04-01  9:02                       ` Ole-Hjalmar Kristensen
2008-04-01 14:12                         ` (see below)
2008-04-02  7:22                           ` Ole-Hjalmar Kristensen
2008-04-02 14:59                             ` (see below)
2008-04-04  6:36                               ` Ole-Hjalmar Kristensen
2008-04-04 13:56                                 ` (see below)
2008-04-04 17:36                                   ` Georg Bauhaus
2008-04-04 17:40                                     ` (see below)
2008-04-15 12:05                               ` Ole-Hjalmar Kristensen
2008-04-17  4:46                                 ` Randy Brukardt
2008-03-28  6:34             ` Randy Brukardt
2008-04-29  7:15   ` Ivan Levashew
2008-05-01  2:03     ` Steve Whalen
2008-03-14 19:20 ` Mike Silva
2008-03-14 20:43   ` Ed Falis
2008-03-22 22:51 ` Florian Weimer
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox