comp.lang.ada
 help / color / mirror / Atom feed
From: "Tarjei T. Jensen" <tarjei@online.no>
Subject: Re: GNAT: Performance of String functions
Date: 1997/07/19
Date: 1997-07-19T00:00:00+00:00	[thread overview]
Message-ID: <33D11806.6C59@online.no> (raw)
In-Reply-To: dewar.869241859@merv


> Jakob asks:
>
> I'm running GNAT 3.09 on a Sun Sparc Ultra 1 with Solaris 2.5.
> I'm using unbounded strings and I'm comparing a lot. In fact
> I have an equvalent program running the same algoritm in VAX
> Pascal, and on the VAX the program runs about ten times faster.
> Can I expect a dramatic speed improvement if I use another
> string concept or is GNAT just slow?

>Robert Dewar wrote: 
>
> A couple of notes. First all strings are passed by reference in all cases,
> so that is definitely not an issue.
> 
> I doubt you could have an equivalent algorithm in VAX Pascal, although I don't

> know VAX Pascal that well. In particular, what does the VAX Pascal use -- I
> bet it either uses the equivalent of bounded strings, or it does not have
> automatic finalization. The unboundedness you certainly pay a price for,
> and you also pay a price for the automatic finalization.
> 

VAX Pascal passes strings by descriptors. The string pointed to by
descriptor is of type counted string. A counted string has a maximum
size, an actual size and the string itself. I'm not sure anymore if the
descriptor contains the maximum size of the string or if the programmer
have to keep track of this.

This means that comparing Ada bounded strings and VAX Pascal strings
compares two different ways of doing things. Each time you change the
size of an Ada bounded string there can be serious overhead.

The apparent overhead of bounded strings is an strong argument for
providing a standard counted string package in Ada.


Greetings,

-- 
// Tarjei T. Jensen 
//    tarjei@online.no || voice +47 51 62 85 58
//   Support you local rescue centre: GET LOST!




  reply	other threads:[~1997-07-19  0:00 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-07-18  0:00 GNAT: Performance of String functions Jakob Heinemann
1997-07-18  0:00 ` Robert Dewar
1997-07-19  0:00   ` Tarjei T. Jensen [this message]
1997-07-19  0:00     ` Matthew Heaney
1997-07-20  0:00     ` Tarjei T. Jensen
1997-07-20  0:00     ` Robert Dewar
1997-07-20  0:00       ` Tarjei T. Jensen
1997-07-20  0:00         ` Robert Dewar
1997-07-21  0:00           ` Tucker Taft
1997-07-21  0:00             ` Tarjei Jensen
1997-07-21  0:00               ` Matthew Heaney
1997-07-22  0:00               ` Robert Dewar
1997-07-22  0:00                 ` Tarjei Jensen
1997-07-22  0:00                   ` Larry Kilgallen
1997-07-22  0:00                     ` Tarjei T. Jensen
1997-07-23  0:00                       ` Larry Kilgallen
1997-07-23  0:00                       ` Robert Dewar
1997-07-23  0:00                         ` Tarjei Jensen
1997-07-23  0:00                           ` Samuel Mize
1997-07-23  0:00                             ` W. Wesley Groleau x4923
1997-07-24  0:00                             ` Robert A Duff
1997-07-24  0:00                           ` Mats Weber
1997-07-24  0:00                             ` Matthew Heaney
1997-07-24  0:00                             ` Tarjei Jensen
1997-07-24  0:00                               ` Matthew Heaney
1997-07-24  0:00                               ` Robert Dewar
1997-07-24  0:00                             ` Robert Dewar
1997-07-28  0:00                               ` Mats Weber
1997-07-28  0:00                                 ` Robert Dewar
1997-07-28  0:00                                   ` Robert Dewar
1997-07-28  0:00                                 ` Matthew Heaney
1997-07-29  0:00                                   ` Robert Dewar
1997-07-22  0:00                   ` Robert Dewar
1997-07-21  0:00             ` Robert Dewar
1997-07-22  0:00   ` Jakob Heinemann
1997-07-23  0:00     ` Robert Dewar
replies disabled

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