comp.lang.ada
 help / color / mirror / Atom feed
From: Ted Dennison<dennison@telepath.com>
Subject: Re: Streams in Ada
Date: Mon, 02 Apr 2001 14:00:21 GMT
Date: 2001-04-02T14:00:21+00:00	[thread overview]
Message-ID: <VB%x6.249$UK4.24318@www.newsranger.com> (raw)
In-Reply-To: 3AC64324.A79AE084@worldnet.att.net

In article <3AC64324.A79AE084@worldnet.att.net>, James Rogers says...
>
>I assume from your use of the term "streams" that you want to be able
>to directly address file elements. "Streams" is the C term for such
>capability. Ada uses streams for a somewhat different capability.
>
>I believe what you want is handled by the package Ada.Direct_Io.

Actually, this sounds like the exact issue we've talked about twice in the last
couple of months already. You generally don't want to use Direct_IO instantiated
for byte-sized objects, as there will be a call for each and every byte read,
which is going to be really slow (and make your Ada code look bad). If there is
only a couple of sizes to read, you might be able to get away with a separate
Direct_IO instantiation for each, but there will still be a bit of waste closing
one instantiation's view of the file so the other can open it and reposition to
the right place.

The best way to solve the problem of reading an unstructured array of bytes from
a file in Ada is to use Ada.Streams.Stream_IO, along with a direct call to
Ada.Streams.Read with a properly-sized array of stream elements. 

Didn't someone volunteer to put some example sources for doing this on AdaPower?
I can post some code I have that does this, if needed. (hmmm, assuming I didn't
delete it last week...) The speedup I observed in doing it this way vs.
Sequential_IO was nothing less than amazing.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



  parent reply	other threads:[~2001-04-02 14:00 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-31 14:49 Streams in Ada chris.danx
2001-03-31 15:22 ` chris.danx
2001-03-31 21:37   ` Jeff Creem
2001-03-31 21:49     ` chris.danx
2001-03-31 22:21       ` Robert A Duff
2001-03-31 22:33         ` chris.danx
2001-04-02 13:47         ` Ted Dennison
2001-04-02 14:03           ` Florian Weimer
2001-04-02 14:29             ` Ted Dennison
2001-04-02 14:54               ` Robert A Duff
2001-04-02 14:47             ` Marin David Condic
2001-04-02 15:10               ` Florian Weimer
2001-04-02 15:49                 ` Ted Dennison
2001-04-02 16:57                   ` Marin David Condic
2001-04-02 17:43                     ` PDP-10, was " tmoran
2001-04-02 17:49                     ` Robert A Duff
2001-04-02 22:09                       ` 6-bit characters (was: Re: Streams in Ada) Jeffrey Carter
2001-04-02 23:29                         ` Robert A Duff
2001-04-03 16:41                           ` Jeffrey Carter
2001-04-03 17:57                             ` Florian Weimer
2001-04-03 18:19                               ` Marin David Condic
2001-04-05 18:37                                 ` Tucker Taft
2001-04-03 18:04                             ` Marin David Condic
2001-04-06 22:40                             ` Robert A Duff
2001-04-03 14:10                         ` Marin David Condic
2001-04-03  1:57                       ` Streams in Ada Larry Kilgallen
2001-04-03 14:13                         ` Marin David Condic
2001-04-13 23:21                         ` Robert A Duff
2001-04-02 17:41                   ` Florian Weimer
2001-04-02 18:17                     ` Robert A Duff
2001-04-02 19:36                       ` Marin David Condic
2001-04-02 20:54                         ` Robert A Duff
2001-04-03 10:10                         ` Florian Weimer
2001-04-03 14:21                           ` Marin David Condic
2001-04-03 18:15                             ` Florian Weimer
2001-04-03 23:21                               ` Robert A Duff
2001-04-02 21:13                       ` Florian Weimer
2001-04-02 21:22                         ` Robert A Duff
2001-04-03 10:02                           ` Florian Weimer
2001-04-02 16:42                 ` Marin David Condic
2001-04-13  5:00                 ` David Thompson
2001-03-31 20:48 ` James Rogers
2001-03-31 21:20   ` chris.danx
2001-03-31 21:22     ` chris.danx
2001-03-31 23:10     ` David C. Hoos, Sr.
2001-04-01 11:27       ` chris.danx
2001-04-02 14:12     ` Ted Dennison
2001-04-02 14:00   ` Ted Dennison [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-04-05 14:24 Brian Gaffney
2001-04-06 22:54 ` Robert A Duff
replies disabled

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