I've been trying to find recent benchmarks of CAS systems for computing the Hermite Normal Form as well as Groebner basis over both $\mathbb{Q}$ and $\mathbb{C}$. I've been unable to find anything useful and would hope that someone has experience from multiple products and libraries and have evaluated them.
For HNF, we mainly need to be able to solve small instances (say <20x20 matrices) very quickly. We have to compute them for millions of instances. While Sage seems good for large instances, a major problem for batch processing is that it's not a library that can be linked directly to our code and Sage is forking a bunch of child processes, so that the forking ends up taking a large chunk of the time.
For Groebner basis our problem is that Sage just gives up in some cases and never finds anything (which is expected given the worst case complexity). I've been told that there are huge differences between different products with respect to Groebner basis computations. Some benchmarks I could find from 7 years back suggest that Magma solved some cases in minutes while it took days for Singular. However, these should be completely outdated by now.
Anyone have any input on this? Our instances are fairly random, so general benchmarks/wisdom should be applicable.
I know this might be a bad question in general, since there is not a very explicit answer...