See: Description
| Package | Description |
|---|---|
| it.unimi.dsi |
General utilities.
|
| it.unimi.dsi.big.io |
I/O big classes.
|
| it.unimi.dsi.big.util |
Collections and similar big classes.
|
| it.unimi.dsi.bits |
Main classes manipulating bits.
|
| it.unimi.dsi.compression |
Word-based compression/decompression classes.
|
| it.unimi.dsi.io |
I/O classes.
|
| it.unimi.dsi.lang |
Basic classes.
|
| it.unimi.dsi.logging |
Logging classes.
|
| it.unimi.dsi.parser |
A fast, lightweight, on-demand (X)HTML parser.
|
| it.unimi.dsi.parser.callback |
Callbacks for the
BulletParser. |
| it.unimi.dsi.stat |
Statistics classes.
|
| it.unimi.dsi.util |
Miscellaneaous utility classes.
|
The DSI utilities are a mish mash of classes accumulated during the last ten years in projects developed at the former DSI (Dipartimento di Scienze dell'Informazione, i.e., Information Sciences Department), now DI (Dipartimento di Informatica, i.e., Informatics Department) of the Università degli Studi di Milano. They were originally distributed in several projects (mainly in MG4J) but we finally decided to gather all the material in a single place.
The DSI utilities are distributed under the GNU Lesser General Public License.
The implementations available are a bit eclectic due to the particular kind of applications we developed. Very broadly, we have:
XorShift128PlusRandom is a fast-as-light,
all-purpose top-quality generator and XorShift1024StarRandom provides a larger
state space for massive parallel computations. SplitMix64Random is the fastest generator,
but it has a relatively small state space (64 bits); it is a non-splittable version of Java 8's SplittableRandom. See the
package documentation for details.BitVector and its implementations—a high-performance but flexible set of bit vector classes.it.unimi.dsi.compression package containing codecs for several types of encodings.ProgressLogger, a flexible logger with statistics marking the progress of the (many) classes
we use that require hours of computation.
ObjectParser, a class making it easy to specify complex objects on the command
line.MutableString, our answer to the Java String class.I/O package, containing fast version of several classes existing in java.io,
many useful classes to read easily text data (e.g., FileLinesCollection), bit streams,
classes providing large-size memory mapping such as ByteBufferInputStream,
and OfflineIterable—the easy & fast way to store large sequences of objects on disk and iterate on them.it.unimi.dsi.util package, containing tries,
immutable prefix maps, Bloom filters,
a very comfortable Properties class and more.it.unimi.dsi.stat package, containing a lightweight class for computing basic statistics and
an arbitrary-precision implementation of the Jackknife method.Util (have a look!)it.unimi.dsi.big.io and it.unimi.dsi.big.util.BulletParser, that we use to parse HTML and XML.