On Tue, 11 Feb 2020, David Fifield wrote:
To my untrained eye it looks like there is some kind of exponential recursion happening around the RBM::config_p function. See here, where in building one project the function was called 89 million times: https://people.torproject.org/~dcf/graphs/nytprof-rbm-20200212-94fce31e/#sub... Clicking through to the per-line view, we see that 45 million of those calls were from RBM::get_target, and most of the rest were from RBM::config: https://people.torproject.org/~dcf/graphs/nytprof-rbm-20200212-94fce31e/root...
After looking at this more closely, I am expecting RBM::config_p to be called a lot of times (although maybe not 89 millions times), but I would not expect that more than half of this would be from RBM::get_target.
So I opened an other ticket about that: https://trac.torproject.org/projects/tor/ticket/33289