comp.lang.ada
 help / color / mirror / Atom feed
* Ann: Natools.Chunked_Strings, beta 1
@ 2011-11-29 15:16 Natasha Kerensikova
  2011-11-29 15:37 ` Pascal Obry
  2011-11-30 10:33 ` Yannick Duchêne (Hibou57)
  0 siblings, 2 replies; 30+ messages in thread
From: Natasha Kerensikova @ 2011-11-29 15:16 UTC (permalink / raw)


Hello,

my main project is currently an improved rewrite of a library I wrote in
C, with a (hopefully) better design. In the C version, the speed
bottleneck was in the dynamic buffers where the resulting string is
accumulated. As I hoped to eventually reach the same point in Ada, I
used a String_Accumulator interface in the main project, so that I can
easily switch accumulator implementation, possibly to something more
efficient but more complex.

At first I imagined to way of implementing a fast large string
accumulation mechanism: ropes, and brutal preallocation of massive
amounts of memory. I started writing the latter, as part of my efforts
to teach myself Ada, because it seemed easier.

Chunked_String is a string container that exposes the same interface as
Unbounded_String, but whose implementation is using independant "chunks"
of memory. Thus large strings don't have to fit in a contiguous memory
space, and append operations are much more efficient by having to resize
only the last chunk.

So now I'm publishing this code under ISC licence, hoping it can be
useful to someone and/or trigger useful comments to help me get better
at Ada. The code is available in the Natools repository at:
http://fossil.instinctive.eu/natools/dir?ci=tip

Just like Natools.Getopt_Long, all constructive comments are welcome,
about design, implementation, style, or anything else. (And will
probably also not be acted upon immediately, I'm juggling with more
tasks than I can comfortably schedule, but they were listened to and
appreciated.)


Thanks in advance for your help,
Natasha



^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2011-12-02 19:07 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-29 15:16 Ann: Natools.Chunked_Strings, beta 1 Natasha Kerensikova
2011-11-29 15:37 ` Pascal Obry
2011-11-29 16:34   ` Natasha Kerensikova
2011-11-29 17:08     ` Georg Bauhaus
2011-11-30  9:51       ` Natasha Kerensikova
2011-11-29 20:25     ` Randy Brukardt
2011-11-30 10:44     ` Yannick Duchêne (Hibou57)
2011-11-30 10:39   ` Yannick Duchêne (Hibou57)
2011-11-30 10:57     ` Dmitry A. Kazakov
2011-12-01  0:11       ` Randy Brukardt
2011-12-01  8:30         ` Dmitry A. Kazakov
2011-12-01 23:26           ` Vinzent Hoefler
2011-12-02  8:27             ` Dmitry A. Kazakov
2011-12-02  9:30               ` Georg Bauhaus
2011-12-02 13:11                 ` Dmitry A. Kazakov
2011-12-02  0:39           ` Randy Brukardt
2011-12-01  9:02         ` Yannick Duchêne (Hibou57)
2011-11-30 13:08     ` Natasha Kerensikova
2011-11-30 19:39       ` Jeffrey Carter
2011-12-01 10:57         ` Natasha Kerensikova
2011-12-01 19:07           ` Jeffrey Carter
2011-12-01 21:19             ` Yannick Duchêne (Hibou57)
2011-12-01 22:49               ` Natasha Kerensikova
2011-12-02 16:16         ` Tero Koskinen
2011-12-02 17:36           ` Adam Beneschan
2011-12-02 18:52             ` Tero Koskinen
2011-12-02 18:14           ` Yannick Duchêne (Hibou57)
2011-12-02 19:07             ` Adam Beneschan
2011-11-30 10:33 ` Yannick Duchêne (Hibou57)
2011-11-30 11:04   ` Natasha Kerensikova

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