New software: xstr - Thread-safe string functions

From: Gerd Stolpmann (Gerd.Stolpmann@darmstadt.netsurf.de)
Date: Wed Jul 07 1999 - 22:15:12 MET DST


From: Gerd Stolpmann <Gerd.Stolpmann@darmstadt.netsurf.de>
To: caml-list@inria.fr
Subject: New software: xstr - Thread-safe string functions
Date: Wed, 7 Jul 1999 22:15:12 +0200
Message-Id: <99070722283603.28040@schneemann>

>From the README:

        This package implements frequent string operations: searching, replacing,
        splitting, matching. It is independent from the Str library, and can
        replace Str in many cases. Unlike Str, xstr is thread-safe. xstr does
        not implement regular expressions in general, but an important subset.
        Some operations of xstr are performed as quickly as by Str; if the string
        to be processed is small, xstr is often faster than Str; if the string is
        big, xstr is upto half as fast as Str.

You can download the package from the usual place:

        http://people.darmstadt.netsurf.de/Gerd.Stolpmann/ocaml/

This package has an entry in the O'Caml link database; updates are announced
here:

        http://www.npc.de/ocaml/linkdb/

Note: that xstr is often slower than Str (which bases on the GNU regex library)
is partly caused by the missing bitstrings. As substitute I use an array of
16 integers storing 16 bits each. The membership-test for bitstrings is the
most frequent operation, and it must be fast to get good results. What I would
need is a primitive that finds the next character in a string that is member of
a given bitstring. Most time-consuming loops in xstr do exactly this.

Gerd

--
----------------------------------------------------------------------------
Gerd Stolpmann      Telefon: +49 6151 997705 (privat)
Viktoriastr. 100             
64293 Darmstadt     EMail:   Gerd.Stolpmann@darmstadt.netsurf.de (privat)
Germany                     
----------------------------------------------------------------------------



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:23 MET