First off, while the headline numbers are slightly clickbaity, they are true. There are obviously other areas where JGraphT performs much more reasonably (Guava Graphs less so), so I don't want to throw them under the bus too much!
Like a lot of you guys I'm sure, I occasionally like to mess around with various graph algorithms and projects in my spare time, and recently I was implementing and playing around with some force directed layout algorithms for the Nth time when I got really frustrated with existing JVM graph library performance. I'm clearly not the first person to notice this - there are many graph library projects on github, but I didn't find any that seemed designed for general use. Obviously JNI is always an option if you really want, but I firmly believe that performance is not something you should be required to give up simply by running on JVM, and it's a little ridiculous that the existing major graph Java libraries show little concern for performance (though they have other advantages).
I suspect this will mostly be useful to hobbyists like myself since I don't think anyone is doing too much serious graph work on JVM (that seems to be mostly Python which has some great libraries).
tooilln•4w ago
Like a lot of you guys I'm sure, I occasionally like to mess around with various graph algorithms and projects in my spare time, and recently I was implementing and playing around with some force directed layout algorithms for the Nth time when I got really frustrated with existing JVM graph library performance. I'm clearly not the first person to notice this - there are many graph library projects on github, but I didn't find any that seemed designed for general use. Obviously JNI is always an option if you really want, but I firmly believe that performance is not something you should be required to give up simply by running on JVM, and it's a little ridiculous that the existing major graph Java libraries show little concern for performance (though they have other advantages).
I suspect this will mostly be useful to hobbyists like myself since I don't think anyone is doing too much serious graph work on JVM (that seems to be mostly Python which has some great libraries).