comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <Stephe.Leake@nasa.gov>
Subject: Re: Strings Fixed, Bounded, and Counted. Performance Inquiry.
Date: 27 Oct 2003 12:18:48 -0500
Date: 2003-10-27T17:22:29+00:00	[thread overview]
Message-ID: <uu15ud2fb.fsf@nasa.gov> (raw)
In-Reply-To: pan.2003.10.24.20.24.13.318562.974@nospam.net

Freejack <user@nospam.net> writes:

> Fixed strings are great in terms of performance. Bounded strings are
> pretty good. However I havent seen anyone do a performance analysis of
> Counted strings. I'm thinking in the Forth sense of the type.

Ah, Forth. Haven't done that in a while.

> i.e. The first element of the String is a number indicating the
> length of the string. 

If I recall correctly, Forth strings are all fixed, in the sense that
they cannot be modified in place. 

> No null terminators needed. 

Correct.

> A bit more flexible than Fixed strings, 

How?

> a heck of a lot faster than Null terminated strings. 

Depends on what you are doing. Copying the strings character by
character is the same speed for either construct. Block copy is faster
with a count on most machines. But most algorithms for processing
strings operate character by character, so it doesn't really matter.

Safety is another issue; with a count (or bounds) it is possible to
check array indices before fetching or storing.

> Not sure how they stack up to Bounded strings.

Since Ada fixed strings store the array bounds, that is essentially
the same as counted Forth strings.

Ada Bounded strings let you change the value in place, so they are
more flexible.

> Has anyone played with these in an Ada context?

Yes, all the time :).

> I'm gonna write my own experimental package if nobody else has

Be sure you define _precisely_ what you want the package to do, and
see if Ada already has it, before you spend time implementing it.

-- 
-- Stephe



  parent reply	other threads:[~2003-10-27 17:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-24 20:18 Strings Fixed, Bounded, and Counted. Performance Inquiry Freejack
2003-10-24 20:28 ` Marin David Condic
2003-10-25  0:46 ` Jeffrey Carter
2003-10-25 21:24   ` Marin David Condic
2003-10-27 17:18 ` Stephen Leake [this message]
2003-10-27 19:15   ` Freejack
2003-10-27 19:31     ` Stephen Leake
2003-11-02 10:42   ` Tarjei T. Jensen
replies disabled

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