Welcome to fastutil, a collection of type-specific Java classes that
extend the Java Collections Framework by providing several containers,
such as maps, sets, lists and prority queues, implementing the interfaces
of the java.util package; it provides also big (64-bit) arrays, sets and
lists, and fast, practical I/O classes for binary and text files.

fastutil provides a huge collection of specialized classes generated
starting from a parameterized version; the classes are much more compact
and much faster than the general ones. Please read the package
documentation for more information.

With release 6, fastutil becomes available under the Apache License 2.0
and runs only on Java 6 or newer.

fastutil 6.1.0 has been significantly reorganised. A number of
not-so-useful classes (double- and sequi-indirect priority queues) are no
longer distributed (but you can still generate them from source code). The
old implementation of hash tables (both sets and maps) has been replaced
by a linear-probing implementation that is about twice faster and has true
deletions, but does not let you set a growth factor. You can still generate
the sources of those classes, in any case.

The compiled code is contained in the jar file, and should be installed
where you keep Java extensions. Note that the jar file is huge, due to the
large number of classes: if you plan to ship your own jar with some
fastutil classes included, you should look at AutoJar to extract
automatically the necessary classes.

You have to "make sources" to get the actual Java sources; finally, "ant
jar" and "ant javadoc" will generate the jar file and the API
documentation. Note that you need ant (http://jakarta.apache.org/ant/).
The target "oldsources" generates the old code for priority queues and
hash sets/maps, and the ant task "jar-oldsources" includes what is
necessary in the jar file.

The Java sources are generated using a C preprocessor. The gencsource.sh
script reads in a driver file, that is, a Java source that uses some
preprocessor-defined symbols and some conditional compilation, and
produces a (fake) C source, which includes the driver code and some
#define that customize the environment.



                                          seba (vigna@acm.org)
