mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
650b94ebc1
The nodelist_idx for each node_t serves as a unique identifier for the node, so we can use a bitarray to hold all the excluded nodes, and then remove them from the smartlist. Previously use used smartlist_subtract(sl, excluded), which is O(len(sl)*len(excluded)). We can use this function in other places too, but this is the one that showed up on the profiles of 30291. Closes ticket 30307.
5 lines
235 B
Plaintext
5 lines
235 B
Plaintext
o Major features (performance):
|
|
- Update our node selection algorithm to exclude nodes in linear time.
|
|
Previously, the algorithm was quadratic, which could slow down heavily
|
|
used onion services. Closes ticket 30307.
|