Open filzrev opened 7 months ago
Sounds like BasicXrefMapReader should internally turn the map it into a dictionary to speed up lookup.
On my environment ToDictionary()
takes about 125[ms]
.
And when getting last element. it takes following times.
Liner search | 56 [ms] |
Binary search | 11 [ms] |
So it might make sense to create a UID lookup table. (Although it will increase memory footprint)
Is your feature request related to a problem? Please describe.
When using xrefmap for .NET types. It's recommended to use xrefmap file that is located at
https://github.com/dotnet/docfx/raw/main/.xrefmap.json
. (By #9659.)Problems
This file contains
312235
reference items. But thesorted: true
property is not set. So when searching for specificuid
. It requires to execute liner search.Describe the solution you'd like
As far as I've tested. These items are already sorted by UID with
InvariantCulture
order. So it can use faster binary search. ifsorted: true
property is set.Additional Information Alternatively. It might possible to use following xrefmap files. Is these URLs are still supported?
https://learn.microsoft.com/en-us/dotnet/.xrefmap.json
(316 MB)https://learn.microsoft.com/en-us/dotnet/xrefmap.yml
(283 MB)sorted: true
by default