rizinorg / rizin

UNIX-like reverse engineering framework and command-line toolset.
https://rizin.re
GNU Lesser General Public License v3.0
2.71k stars 363 forks source link

Switch from `RzList` to `RzPVector` for some data in `RzAnalysis` #3872

Open XVilka opened 1 year ago

XVilka commented 1 year ago

Similar to https://github.com/rizinorg/rizin/issues/3775 some data is populated only once (or updated very infrequently) but uses RzList which is inefficient for this case:

RzAnalysisFunction

RzAnalysisSwitchOp

RzAnalysis

RzAnalysisPlugin

Reflines

I recommend starting from the cases member of RzAnalysisSwitchOp since it will likely give the biggest performance/memory impact because used most often.

AniketNS commented 1 year ago

Hey @XVilka, I'd like to work on this issue. As I've seen the #3775 issue. I think I can solve this. I will ask for the help from you, if needed.

XVilka commented 1 year ago

@AniketNS go for it, send a PR

AniketNS commented 1 year ago

Ok. I'll try to do this @XVilka. May I trouble you, If I need any help?

XVilka commented 10 months ago

@AniketNS you can try to do the reflines one.