On Wed, 30 Aug 2017, Travis Scrimshaw wrote:
So the use would be something like
sage: from some.place.tests import test_finite_lattice
sage: for L in big_list_of_random_lattices:
sage: test_finite_lattice(L)
sage: print("All OK")
Yes, but I would not do the print().
I made https://trac.sagemath.org/ticket/23754 to see if I understood this
right.
> This could also be used as a function to run timing benchmarks
on Sage
> as well.
Not really, as some tests take so much more time. But they could
find a
bug-like time regression in some specific function
It would have to be done manually (at least at present, there are some
people who are [strongly?] interested in having a benchmark framework for
Sage). However, it still could help.
For a Posets.BooleanLattice(6) it takes 3 milliseconds to see if the
lattice is modular, and maybe 2 seconds to see if it is isoform. So, if
running time of is_modular() raises by factor of 10, it would just mean
that the combined time would raise from 2,003 seconds to 2,030 seconds.
Hence this is only useful for a) very pathological regression or b)
smaller regression that happens in some slow function.
--
Jori Mäntysalo