From: Freejack <user@nospam.net>
Subject: Re: Strings Fixed, Bounded, and Counted. Performance Inquiry.
Date: Mon, 27 Oct 2003 19:15:08 GMT
Date: 2003-10-27T19:15:08+00:00 [thread overview]
Message-ID: <pan.2003.10.27.19.21.16.837359.802@nospam.net> (raw)
In-Reply-To: uu15ud2fb.fsf@nasa.gov
On Mon, 27 Oct 2003 12:18:48 -0500, Stephen Leake wrote:
>> A bit more flexible than Fixed strings,
>
> How?
It was my understanding(I could be wrong here) that a Fixed string is
unmodifiable without access to functions provided in the package. A
Counted string is modifiable outside the package provided functions and
procedures. No?
>> 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.
So essentially, with a Fixed string, I can have the compiler generate
machine code to grab a block of length X, and shove it into an empty
block of length Y if Y > X? All on one I/O procedure? (Thinking of the
Linux "sendfile()" and "iovec()" functions here.)
I really want to avoid character by character transfer when it's not
necessary.
Also, if I can read the first element, and see that the string has twenty
characters, I can have the program inline a procedure x/20 times, rather
than using a Counter and loop structure.
>> 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.
I am definitely being specific in my package spec. You're right. Aside
from a couple quirks of my own design, bounded strings do the right
thing. As do Fixed Strings.
I'll keep playing with 'em and tell you what I come up with. Heh.
Thanks.
Freejack
next prev parent reply other threads:[~2003-10-27 19:15 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
2003-10-27 19:15 ` Freejack [this message]
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