comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org>
Subject: Re: functions, packages & characters
Date: Fri, 22 Feb 2002 08:54:33 -0500
Date: 2002-02-22T13:54:33+00:00	[thread overview]
Message-ID: <a55iip$4s7$1@nh.pace.co.uk> (raw)
In-Reply-To: u7bcro6je1h519@corp.supernews.com

I'm curious about why you think this would be slow? (I may have to build a
small chunk of code and time it! :-) In most applications I can think of,
you can usually set some kind of arbitrary max sized buffer (the size of
"Line" below...) that is going to accommodate most lines in your average
text file. (Usually, you have some notion of the kinds of text files you
want to process, right?) The presumption is that you might infrequently have
to go 'round the loop a second (or third or fourth) time to glom onto the
rest of the line, so for 99% (or some high percentage of the time) you're
just doing a single Get_Line (is that inefficient?) and a single Append to
an unbounded string (again, is that necessarily inefficient?)

I've never looked into the underlying implementation of Unbounded_String in
any Ada compiler, so I have no clue as to how naturally (in)efficient they
may be. I'm guessing a typical implementation is going to be some collection
of memory blocks strung together with pointers and some counters. Would
"Append" require some huge overhead?

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Randy Brukardt" <randy@rrsoftware.com> wrote in message
news:u7bcro6je1h519@corp.supernews.com...
> >   loop
> >      Get_Line (Line, Last);
> >      Append (Buffer, Line (Line'First .. Last));
> >      exit when Last < Line'Last;
> >   end loop;
>
> This is, of course, the inefficiency that I was commenting on. This
> would be slow, and would cause an awful lot of memory allocation and
> deallocation, with the possible exception of the first iteration. It
> would only be a good idea if the size of Line was larger than almost all
> expected lines.
>






  reply	other threads:[~2002-02-22 13:54 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-21  8:59 functions, packages & characters Christoph Grein
2002-02-21 18:07 ` Unversed Angel
2002-02-21 18:28   ` Hyman Rosen
2002-02-21 23:44     ` Randy Brukardt
2002-02-22  0:37       ` Matthew Heaney
2002-02-22  1:12         ` Matthew Heaney
2002-02-22  2:57         ` Randy Brukardt
2002-02-22 13:54           ` Marin David Condic [this message]
2002-02-23  1:10             ` Matthew Heaney
2002-02-25 15:47               ` Marin David Condic
2002-02-26 15:58                 ` Matthew Heaney
2002-02-25 19:37             ` Randy Brukardt
2002-02-25 20:49               ` Marin David Condic
2002-02-26  3:30               ` David Starner
2002-02-26 15:44                 ` Hyman Rosen
2002-02-26 21:43                   ` David Starner
2002-02-27  6:32                     ` Hyman Rosen
2002-02-28  3:55                       ` Chad R. Meiners
2002-02-28 18:44                         ` Hyman Rosen
2002-03-02  3:25                           ` Chad R. Meiners
2002-03-03  8:22                             ` Hyman Rosen
2002-03-03 17:50                               ` Chad R. Meiners
2002-03-01  2:08                         ` David Starner
2002-03-05 14:36                       ` Marin David Condic
2002-02-26  7:42               ` tmoran
2002-02-22 15:34           ` Matthew Heaney
2002-02-22  2:47       ` Jeffrey Carter
2002-02-22 13:41       ` Marin David Condic
2002-02-23  1:08         ` Matthew Heaney
2002-02-23  2:03         ` Jeffrey Carter
2002-02-22 16:27       ` Hyman Rosen
2002-02-21 23:49     ` unversedangel
2002-02-21 22:48   ` unversedangel
2002-02-21 23:14     ` Hyman Rosen
2002-02-22 14:11     ` Marin David Condic
  -- strict thread matches above, loose matches on Subject: below --
2002-02-21  0:16 Unversed Angel
2002-02-21  0:37 ` tmoran
2002-02-21  1:13   ` Unversed Angel
2002-02-21  2:53     ` tmoran
2002-02-21  8:25       ` Unversed Angel
2002-02-21 13:47         ` Marin David Condic
2002-02-22  0:22         ` 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