GRPH
Abstract
Grph is an open-source Java library for the manipulation of graphs. Its design objectives are to make it portable, simple to use/extend, computationally/memory efficient, and, according to its initial motivation: useful in the context of graph experimentation and network simulation. Grph also has the particularity to come with tools like an evolutionary computation engine, a bridge to linear solvers, a framework for distributed computing, etc.
On maximizing performance
Grph achieves great efficiency through the use of multiple code optimization techniques such as multi-core parallelism, caching, adequate data structures, use of primitive objects, exploitation of low-level processor caches, on-the-fly compilation of specific C/C++ code, etc.
A very general model of graphs
Unlike other graph libraries which impose the user to first decide if he wants to deal with directed, undirected, hyper (or not) graph, the model offered by Grph is unified in a very general class that supports mixed graphs made of undirected and directed simple and hyper edges.
Grph attempts to access to Internet in order to check if a new version is available and to report who's using it (login name and hostname). This has no impact whatsoever on performance and security.