comp.lang.ada
 help / color / mirror / Atom feed
From: Preben Randhol <randhol+abuse@pvv.org>
Subject: Re: Computer Language Shootout
Date: Fri, 11 Jul 2003 12:50:36 +0000 (UTC)
Date: 2003-07-11T12:50:36+00:00	[thread overview]
Message-ID: <slrnbgtckk.54b.randhol+abuse@kiuk0152.chembio.ntnu.no> (raw)
In-Reply-To: n54tgvgugor0ag2qsv97t9mf9sn9rr542i@4ax.com

Craig Carey wrote:
> 
> The Ada entry to read numbers from a file was slow.
>
> The specs for the integer summing program are here: 
>    http://www.bagley.org/~doug/shootout/bench/sumcol/

I don't understand why your code is so complicated: Why not simply do:

   with Ada.Text_IO; use Ada.Text_IO;

   procedure sumcol is
      Sum : Integer := 0;
      Number : String (1 .. 128);
      Last : Natural := 1;
   begin
      while not End_of_Line (Standard_Input) loop
         Get_Line (Standard_Input, Number, Last => Last);
         Sum := Sum + Integer'Value (Number (1 .. Last));
      end loop;

      Put_Line ("Sum: " & Integer'Image (Sum));
   end sumcol;

And the spec above says that the line is only 128 characters wide, so
why do you allocate a string for 4096 ?

> I argue here that the Gcc sumcol entry should be rejected. The C
> programmers assumed that the file's lines were known, thus they
> knew there was only 100 lines. Speed is not important with 100
> lines files, but losing a patch of the competition due to buggy
> code from C programmer might easily be more important.

I cannot see that they used this assumption for the code here:

   http://dada.perl.it/shootout/sumcol.gcc.html

> That says programs "can assume" that each line has no more than 128
> characters. Thus checking can be omitted and a crash is OK. A quite 
> different wording was used in the specs, for lines containing 2
> integers.
>
> The specs author, Mr Bagley wrote that the programs "should" read
> integers "line by line". The C programmers in fact were never told
> whether to use the first integer or the 2nd (if there are two or
> more). Also they were required to read an integer when there was
> none, which suggests error checking but their C code has none.

I find the spec a bit unclear about this. As I understand it and this
seems to be the way most implementations are done, is that one can
expect one integer per line.

-- 
Ada95 is good for you.
http://www.crystalcode.com/codemage/MainMenu/Coding/Ada/IntroducingAda.php



  parent reply	other threads:[~2003-07-11 12:50 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-11 12:05 Computer Language Shootout Craig Carey
2003-07-11 12:18 ` Preben Randhol
2003-07-11 12:50 ` Preben Randhol [this message]
2003-07-15 15:15   ` Matthew Heaney
2003-07-15 23:46     ` Robert I. Eachus
2003-07-16  4:37       ` Matthew Heaney
2003-07-16 18:01         ` Robert I. Eachus
2003-07-16 21:35           ` Matthew Heaney
2003-07-17  9:38           ` Preben Randhol
2003-07-17 16:29             ` Wesley Groleau
2003-07-17 17:36               ` Jean-Pierre Rosen
2003-07-17 20:56                 ` Preben Randhol
2003-07-17 21:47                 ` Robert A Duff
2003-07-18 18:04                   ` Robert Spooner
2003-07-18 18:48                     ` David C. Hoos
2003-07-19  9:51                     ` Preben Randhol
2003-07-21  7:21                     ` Jean-Pierre Rosen
2003-07-23 20:34                       ` Robert Spooner
2003-07-23 22:22                         ` Robert I. Eachus
2003-07-18 21:22                   ` Pascal Obry
2003-07-19 19:04                     ` Robert A Duff
2003-07-19 21:29                       ` Pascal Obry
2003-07-19 23:14                       ` Samuel Tardieu
2003-07-20  0:26                         ` Robert I. Eachus
2003-07-20  8:44                           ` Samuel Tardieu
2003-07-20 13:28                             ` Robert I. Eachus
2003-07-20 17:10                               ` Samuel Tardieu
2003-07-20 22:43                                 ` Robert I. Eachus
2003-07-21  8:31                                   ` Samuel Tardieu
2003-07-21 14:39                                     ` Hyman Rosen
2003-07-21 15:23                                       ` Samuel Tardieu
2003-07-21 15:46                                         ` Hyman Rosen
2003-07-21 16:09                                           ` tmoran
2003-07-21 17:52                                             ` Hyman Rosen
2003-07-21 16:14                                           ` Samuel Tardieu
2003-07-21 17:55                                             ` Hyman Rosen
2003-07-22  9:07                                           ` Preben Randhol
2003-07-22 13:21                                             ` Hyman Rosen
2003-07-23  9:28                                               ` Preben Randhol
2003-07-23  9:42                                                 ` Vinzent Hoefler
2003-07-23 10:35                                                   ` Preben Randhol
2003-07-23 22:19                                                     ` Randy Brukardt
2003-07-21  8:53                     ` Dmitry A. Kazakov
2003-07-21 11:00                       ` Jeffrey Creem
2003-07-21 13:39                         ` Dmitry A. Kazakov
2003-07-17 23:32                 ` Wesley Groleau
2003-07-18  7:36                 ` Dmitry A. Kazakov
2003-07-18  8:05                   ` Thomas Wolf
2003-07-18  9:11                   ` Jean-Pierre Rosen
2003-07-18 17:31                   ` Matthew Heaney
2003-07-17 20:53               ` Preben Randhol
2003-07-17 23:36                 ` Wesley Groleau
2003-07-16  7:11     ` Preben Randhol
2003-07-11 21:58 ` Matthew Heaney
2003-07-14 18:46   ` Matthew Heaney
2003-07-14 23:08   ` Matthew Heaney
2003-07-16  3:20     ` Isaac Gouy
2003-07-16  4:42       ` Matthew Heaney
2003-07-16 15:27         ` Isaac Gouy
  -- strict thread matches above, loose matches on Subject: below --
2001-11-03  4:15 Using "with function" Mark Lundquist
2001-11-03  5:11 ` Computer Language Shootout Eric Merritt
2001-11-03  6:50   ` tmoran
2001-11-03  7:15     ` Al Christians
2001-11-03  8:52   ` martin.m.dowie
2001-11-03 14:04     ` Ted Dennison
2001-11-03 14:24       ` martin.m.dowie
2001-11-03 14:49       ` Larry Kilgallen
2001-11-03 23:03         ` research@ijs.co.nz
2001-11-04  6:39           ` tmoran
2001-11-04 13:44             ` Larry Kilgallen
2001-11-05  0:59               ` Adrian Hoe
2001-11-05  8:04               ` David Brown
2001-11-06  6:36             ` AG
2001-11-06  8:05               ` tmoran
2001-11-07  8:58                 ` AG
2001-11-06 12:07               ` Larry Kilgallen
2001-11-07  6:19               ` Richard Riehle
2001-11-04 15:59     ` Preben Randhol
2001-11-04 20:04       ` martin.m.dowie
replies disabled

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