This implements a few general improvements in newton_generic.h (avoiding of some unnecessary copies and recreating some data structures).
Additionally it also implements CommutativeConcreteLinSolver, which computes the Kleene star at every iteration using Floyd-Warshall (i.e., no symbolic encoding, no make_free, etc., but the Jacobian matrix is computed just once). Combined with the above improvements the time to solve float_perf_test4.g goes down from around 90s to 1.8s (we're 50 times faster!). :-)
I've just made an additional commit to improve the delta_at of CommutativeDeltaGenerator and the time for float_perf_test4.g goes down to 1s on my machine.
This implements a few general improvements in
newton_generic.h
(avoiding of some unnecessary copies and recreating some data structures). Additionally it also implementsCommutativeConcreteLinSolver
, which computes the Kleene star at every iteration using Floyd-Warshall (i.e., no symbolic encoding, nomake_free
, etc., but the Jacobian matrix is computed just once). Combined with the above improvements the time to solvefloat_perf_test4.g
goes down from around 90s to 1.8s (we're 50 times faster!). :-)As always, all comments are welcome.