comp.lang.ada
 help / color / mirror / Atom feed
From: "(see below)" <yaldnif.w@blueyonder.co.uk>
Subject: Re: Reading and writing a big file in Ada (GNAT) on Windows XP
Date: Sat, 28 Apr 2007 14:22:36 +0100
Date: 2007-04-28T14:22:36+01:00	[thread overview]
Message-ID: <C259092C.A807F%yaldnif.w@blueyonder.co.uk> (raw)
In-Reply-To: 0hj5339mjmond132qhbn2o01unurs61lbj@4ax.com

On 28/4/07 06:03, in article 0hj5339mjmond132qhbn2o01unurs61lbj@4ax.com,
"Fionn Mac Cumhaill" <invisible@hiding.from.spam> wrote:

> I have written a very simple program that runs  on a Windows XP
> machine. (Pentium D , I don't remember the clock speed, it is in
> middle of Pentium D clock speeds, 2 Gb memory) It is compiled with the
> MinGW GNAT 3.4.5 Ada compiler.
> 
> All it does is read lines in a loop from a text file with
> Ada.Text_IO.Get_Line, does minor modifications on about 80% of the
> lines that it reads, and writes the lines to an output file with
> Put_Line. 
...
> The problem is that the input file has more than 10 million lines of
> text in it. The program works perfectly, but takes about 5 hours to
> run. The Cygwin version of wc can count the lines in the input file in
> less than one minute.

I have an assembler that reads source code and writes an equal number of
lines of object code, all I/O done using Ada.Text_IO.{Get_Line, Put(str)}.

That takes less than 6 sec CPU time, on a Mac Powerbook 1.67GHz laptop,
for 1_000_000 lines of input, giving a performance of around 10 million
lines per minute - around 300 times faster than you are getting - so I think
it unlikely that Ada.Text_IO is your problem.

-- 
Bill Findlay
<surname><forename> chez blueyonder.co.uk





  parent reply	other threads:[~2007-04-28 13:22 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-28  5:03 Reading and writing a big file in Ada (GNAT) on Windows XP Fionn Mac Cumhaill
2007-04-28  5:20 ` Gautier
2007-04-29 21:17   ` Fionn Mac Cumhaill
2007-04-28  5:25 ` tmoran
2007-04-28  6:56 ` Martin Krischik
2007-04-28 17:12   ` tmoran
2007-04-28 12:41 ` Jeffrey Creem
2007-04-29 21:35   ` Fionn Mac Cumhaill
2007-04-28 13:22 ` (see below) [this message]
2007-04-28 17:56 ` Simon Wright
2007-04-28 18:28   ` Jeffrey Creem
2007-04-29  7:20     ` Simon Wright
2007-04-29 21:44     ` Fionn Mac Cumhaill
2007-04-29 21:42   ` Fionn Mac Cumhaill
2007-04-30  0:48     ` Jeffrey R. Carter
2007-04-30  2:30       ` Fionn Mac Cumhaill
2007-04-30  4:21         ` tmoran
2007-04-28 19:12 ` Jeffrey R. Carter
2007-04-29 21:46   ` Fionn Mac Cumhaill
2007-05-01 14:10     ` Fionn Mac Cumhaill
2007-05-06 21:55     ` Quarc
2007-05-02  7:46 ` george
2007-05-03  6:31   ` Fionn Mac Cumhaill
2007-05-03 20:00     ` Simon Wright
2007-05-04  4:35       ` Jeffrey R. Carter
2007-05-04  4:45       ` Fionn Mac Cumhaill
2007-05-04  6:53       ` Alternative Index implementation? (Was: Reading and writing a big file in Ada (GNAT) on Windows XP) Jacob Sparre Andersen
2007-05-04  7:41         ` Dmitry A. Kazakov
2007-05-04  9:16           ` Copying string slices before calling subroutines? (Was: Alternative Index implementation?) Jacob Sparre Andersen
2007-05-04  9:44             ` Copying string slices before calling subroutines? Jacob Sparre Andersen
2007-05-04 10:14               ` Dmitry A. Kazakov
2007-05-04 12:07                 ` Jeffrey Creem
2007-05-04 12:46                   ` Dmitry A. Kazakov
2007-05-04 22:27                   ` Simon Wright
2007-05-05  7:33                     ` Jacob Sparre Andersen
2007-05-05  7:47                       ` Dmitry A. Kazakov
2007-05-05  7:41                     ` Dmitry A. Kazakov
2007-05-03 20:27     ` Reading and writing a big file in Ada (GNAT) on Windows XP Adam Beneschan
2007-05-03 23:01       ` Randy Brukardt
2007-05-04  0:28         ` Markus E Leypold
2007-05-05 16:26           ` Adam Beneschan
2007-05-05 17:27             ` Markus E Leypold
2007-05-15 23:03               ` Randy Brukardt
2007-05-04 20:04         ` Adam Beneschan
2007-05-05 16:36           ` tmoran
replies disabled

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