First published in October 2021, then updated in February 2022. ojAlgo contains pure Java LP, QP and MIP solvers. That's something very unique. There are very few pure Java alternatives…

Continue ReadingPure Java LP Solver Benchmark

Browsing through code that uses ojAlgo it's quite common to see it being used inefficiently or at least not the intended way. Here's an example code line, seen in the…

Continue ReadingCommon Mistake

Almost everything in ojAlgo makes use of or interacts with some array based data structure. To always code directly against raw arrays like double[], float[] or Number[] would be awkward.…

Continue ReadingWorking With Arrays

ojAlgo's MatrixStore interface largely defines what you can do with matrices. There are many implementations of that interface provided. They store the elements differently and exploit structure to perform operations…

Continue ReadingSparse and Special Structure Matrices

v48.3.0 had a pure Neural Network focus: Support for floatPossibility to "get" all individual parameters of the networkNew file format to save trained networks to diskImproved separation between building, training and…

Continue ReadingNeural Network New Features in v48.3

With version 19.3 (released 2019-11-19) GraalVM supports Java 11. This benchmark compares the Community Edition (CE) with the Enterprise Edition (EE) and compares them both to a the usual HotSpot…

Continue ReadingHotSpot vs GraalVM CE & EE

This version primarily brings changes to the ojAlgo type system. ojAlgo is all about numbers and contains a lot of generic classes and interfaces to deal with various types of…

Continue ReadingojAlgo v48.0.0

Eclipse OpenJ9 version 0.17.0 was released 2019-10-18. It is available with AdoptOpenJDK that comes in 2 versions – HotSpot and OpenJ9. Here we benchmark those 2 versions doing some linear…

Continue ReadingAdoptOpenJDK HotSpot vs OpenJ9

Controlling Concurrency ojAlgo is multithreaded – some operations are automatically divided to run in multiple threads. You don't have to do anything for this to happen. ojAlgo senses what hardware…

Continue ReadingControlling Concurrency