lysis-java icon indicating copy to clipboard operation
lysis-java copied to clipboard

[Performance Issue] BlockAnylsis.StrictlyDominatesADominator() unoptimized

Open Timocop opened this issue 3 years ago • 1 comments

On large plugins it spends ~90% of the time comparing dominators inside BlockAnylsis.StrictlyDominatesADominator() and dominators() returning a whole array in a loop every time (which is ~60% of the time by itself). Which slows down the whole decompilation process. Maybe using some kind of List<LBlock> or a property where you pass the index instead would speed it up.

Right now im profiling it using .NET Lysis, but should not be so different in Java i assume. Because i have no idea how to profile Java 😅. dnSpy_2021-06-18_13-54-17

Right now i don't have Eclipse installed to create a Pull request so i create an issue instead.

Timocop avatar Jun 18 '21 12:06 Timocop

Seems like on Java this issue is no different (Used JProfiler).

jprofiler_2021-06-18_14-21-59

Timocop avatar Jun 18 '21 12:06 Timocop