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

Reply via email to