fastutil

fastutil extends the Java Collections Framework by providing type-specific maps, sets, lists, and queues for Java with a small memory footprint and fast access and insertion; it also includes a fast I/O API for binary and text files. The classes implement their standard counterpart interfaces (e.g., Map for maps) and can be plugged into existing code. Besides the usual features, fastutil provides reference-based containers (which do not use equals() to compare objects) and linked structures. Most iterators provided by fastutil classes are bidirectional, or even implement the standard list iterator interface.

Tags Software Development Libraries Java Libraries
Licenses LGPL
Operating Systems OS Independent
Implementation Java

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  12 Jun 2008 12:35
  • Rrelease-after

Changes: An issue where the isEmpty() method of ArraySet was actually returning ! isEmpty() was fixed. A new constructor for FasyMultiByteArrayInputStream makes it possible to pass a MeasurableInputStream.

  • Rrelease-mid
  •  16 Apr 2008 08:18
  • Rrelease-after

Changes: A pernicious bug in FastByteArrayOutputStream was introduced in the last version, and has been fixed.

  • Rrelease-mid
  •  02 Apr 2008 09:43
  • Rrelease-after

Changes: A few bugs have been fixed. There is a new set of type-specific Iterable classes.

  • Rrelease-mid
  •  16 Feb 2008 15:37
  • Rrelease-after

Changes: New fast iterators with mutable entries and a whole hierarchy of function interfaces were added.

  • Rrelease-mid
  •  24 Mar 2007 11:48
  • Rrelease-after

Changes: New methods for reading bytes use stream bulk-read method, but with a workaround for a Java bug.

Rss Recent comments

Rcomment-before 17 Jun 2003 03:44 Rcomment-trans vigna Rcomment-after

Re: Library partitioning

> Anything is better than the huge 15.3MB
> jar. Since we'll be using webstart to
> deploy our thin clients the extra 15MB
> is definately not an option ;-P.

However, you should look into AutoJar:

http://www.rrz.uni-hamburg.de/RRZ/B.Eggink/en/javatools/autojar/

which is written exactly to solve your problem!

Rcomment-before 14 Jun 2003 08:12 Rcomment-trans Nipsu Rcomment-after

Re: Library partitioning

> Well, I understand the problem, but it
> is not that easy.
>
> My current plans for 3.0 (beside a
> *fantastic* type-specific ArrayList
> library 8^) include changing the
> namespace to fastutil.int, fastutil.long
> etc. At that point I could make some
> separate jars. The problem is that then
> you must include ALL those jars in your
> path.
>
> Maybe separate jars with an option to
> get a global jar is the best idea.
> Comments are welcome...

Anything is better than the huge 15.3MB jar. Since we'll be using webstart to deploy our thin clients the extra 15MB is definately not an option ;-P.

Good to hear that you plan to add List support too! I had to write one myself since we also need to store loads of longs somewhere and just by using homemade specialized container saves memory + it performs much better. Long object = 12 + 8 bytes, long primitive 8 bytes. Makes big difference with big datas..

If only Sun would have extended the upcoming generics to primitives also!

Rcomment-before 11 Jun 2003 09:52 Rcomment-trans vigna Rcomment-after

Re: Library partitioning

> Could you provide partitioned library in
> the future? I benchmarked the

Well, I understand the problem, but it is not that easy.

My current plans for 3.0 (beside a *fantastic* type-specific ArrayList library 8^) include changing the namespace to fastutil.int, fastutil.long etc. At that point I could make some separate jars. The problem is that then you must include ALL those jars in your path.

Maybe separate jars with an option to get a global jar is the best idea. Comments are welcome...

Rcomment-before 04 Jun 2003 06:53 Rcomment-trans Nipsu Rcomment-after

Re: Library partitioning
And BTW:
Thx for the great library!

Rcomment-before 04 Jun 2003 06:52 Rcomment-trans Nipsu Rcomment-after

Library partitioning
Could you provide partitioned library in the future? I benchmarked the implementations for my application and found that the Long2ObjectAVLTreeMap was best for my needs. It took me three hours of testing, zipping and unzipping to extract only those classes that I needed (The original is huge 33MB jar and my modified jar is only 55KB)

Another way is that you could somehow specify the required implementations in the build phase?

Any comments?

No-screenshot

Project Spotlight

GeoWebCache

A Java Servlet-based tile cache for WMS servers.

F9151c383bc8524a96cbb598bb9a6ad1_thumb

Project Spotlight

RedNotebook

A graphical daily journal with calendar, templates, and keyword searching.