[x] Add some note in the angr interface that there is no need for caching
Important Findings
After doing some measuring, it turns out that requesting the base addr through IDA Proj idaapi.get_baseaddr(), usually took 0.002 seconds, which is great. So great, in fact, that the complexity of writing a normal handler for baseaddr changes was undeeded. I've saved that progress in the https://github.com/binsync/libbs/tree/feat/ida_baseaddr_callback branch if it's ever needed again.
Similarly, the Binja and angr native Python APIs are very fast. Only Ghidra needed a real caching system to keep up with speed, so this PR only does that.
After this change, we should be seeing another big speedup in dumping of mass functions, since the baseaddr was always requested when using these APIs.
Closes #78
TODO:
Important Findings
After doing some measuring, it turns out that requesting the base addr through IDA Proj
idaapi.get_baseaddr()
, usually took0.002
seconds, which is great. So great, in fact, that the complexity of writing a normal handler for baseaddr changes was undeeded. I've saved that progress in the https://github.com/binsync/libbs/tree/feat/ida_baseaddr_callback branch if it's ever needed again.Similarly, the Binja and angr native Python APIs are very fast. Only Ghidra needed a real caching system to keep up with speed, so this PR only does that.
After this change, we should be seeing another big speedup in dumping of mass functions, since the baseaddr was always requested when using these APIs.