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:12:49 GMT
Date: 2001-04-02T14:12:49+00:00	[thread overview]
Message-ID: <BN%x6.261$UK4.25651@www.newsranger.com> (raw)
In-Reply-To: XRrx6.7012$u93.987018@news6-win.server.ntlworld.com

In article <XRrx6.7012$u93.987018@news6-win.server.ntlworld.com>, chris.danx
says...
>
>Direct IO handles single type files, i.e. all file elements are the same.  I
>want different types in the file i.e. heterogeneous files.  Streams allow
>this so i need streams.
>
>I want to allow the reading and writing of 3 or 4 types.
>
>    type Superblock_type;
>    type Inode_type;
>    type Data_block_type;
>    type FileInfo_block_type;
>
>surely then i want streams.  I did think about direct io but i'd have severe
>performance losses in the conversion to the smallest unit -- in this case
>byte_type;  Maybe i am looking in the wrong place.

Just a bit of advice. You could just do a "Superblock_Type'Read (...)" when
reading one of these objects from the stream file. However, that will cause one
Ada.Streams.Read call for each and every component in Superblock_Type. What
would be much quicker would be to create your own 'Read routine for
Superblock_Type, which makes only one call to Ada.Streams.Read for the entire
structure. Its a bit more work though, and has to be debugged, so you should
weigh that against your desire for quicker reads.

As an example of this, we used streams in a real-time simulation I'm working on
to save all the model data for a possible simulation restore later. For most of
the models we found no performance problem with just taking the default 'Read
and 'Write. However, the I/O models have significantly more data than other
models, and run at the highest rate. They were taking so much time to complete
the operation (about 20ms) that the simulation could do nothing else but save IO
data. Rewriting their 'Write and 'Read brought the time down into the trivial
level (about 100ns).

---
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:12 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 [this message]
2001-04-02 14:00   ` Ted Dennison
  -- 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