Closed clearbluejar closed 1 year ago
Yes. There is another fix in the works that should be better. Thanks.
One reason it takes longer in the autoVT is because it is actually doing more with the returned duplicate matches than the duplicate matcher does. It uses operand info to try and find "the" match amongst the subset of possible matches for a particular function. The initial stopgap fix was to limit how many it would work on. The new fix is actually doing the compares faster.
@clearbluejar The portion of the code doing the "real" matching after the duplicate matcher finds possible matches should now be noticeably faster. I'd be curious to know if you notice a difference. My timing tests showed a big improvement in the "Processing match .." portion. The correlator code itself is still slow but I'm hoping to speed that up too if possible. I am also going to eventually add an option to the AutoVT to change the minimum function length for matches.
Great! I'll give it a try. As this is set for milestone 10.5, will I need to build from 'patch' or 'master' to try it?
I like the idea to add options for AutoVT. It would be nice to be able to customize each of the correlator options before kicking off the script, or even optionally run exclude/add some correlators. But those can be future feature requests.
As this is set for milestone 10.5, will I need to build from 'patch' or 'master' to try it?
master
Great! I'll give it a try. As this is set for milestone 10.5, will I need to build from 'patch' or 'master' to try it?
I like the idea to add options for AutoVT. It would be nice to be able to customize each of the correlator options before kicking off the script, or even optionally run exclude/add some correlators. But those can be future feature requests.
That is the plan while adding the one option to just go ahead and add the other correlator options.
duplicate function correlator now completes in about 2 mins for the kernel. well done. that was using this build https://github.com/roblabla/ghidra-ci/releases/tag/2023-10-27
duplicate function correlator now completes in about 2 mins for the kernel. well done. that was using this build https://github.com/roblabla/ghidra-ci/releases/tag/2023-10-27
Great! Thanks for trying it!
Describe the bug
VT duplicate function matching correlator continues to prohibitively slow even after GP-3527
To Reproduce
Steps to reproduce the behavior:
Perform version tracking on a relatively large binary (~7MB+ such as the Windows kernel):
wget https://msdl.microsoft.com/download/symbols/ntkrnlmp.exe/A5E88A321047000/ntkrnlmp.exe -O ntkrnlmp.exe.x64.10.0.22000.2360
wget https://msdl.microsoft.com/download/symbols/ntkrnlmp.exe/B76D01041047000/ntkrnlmp.exe -O ntkrnlmp.exe.x64.10.0.22000.2416