hi everybody,
I'm able to get back to this work now, and actually I was going to ask about python performance. My experiments show the python implementation of BetweenFactor and the C++ version to be about 20X slower than the C++ version -- both are logically very simple things, of course, the estimation function is literally x.logmap(y). This is using the numeric differentation in python, so quite a few trips across the pybind boundary, I suppose.
My goal is to run at about twice real time (i.e. 50% slack) for a 50 Hz sample rate for each of a few measurements, using a few kinds of factors, in real time, for a smoother window of about a second, so maybe a graph of a few hundred variables and a few hundred factors. It looks like maybe python isn't going to be able to do it. It *can* run the framework fast enough, which is convenient, e.g. calling the C++ BetweenFactor goes plenty fast.
Unless anyone has any ideas for speeding up the python CustomFactor 20X, I know what I'll be doing this weekend. :-)