Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve analysis speed (closes #8) #9

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

sleeyax
Copy link

@sleeyax sleeyax commented Feb 15, 2025

Wrap multiple SQL statements in a single transaction and share the database connection to drastically speed up the write speed of the function decompilaton results during the initial analysis.

This is a simple initial solution to the problem, perhaps you want to handle it differently. My suggestions to improve this further (perhaps as a later step through another PR) would be to:

  • Decouple the SyntaxParser from the SQLiteDBHandler so you don't need to pass in the connection as an argument every time. We could work with callbacks instead and let the SQLiteDBHandler handle all the database operations.
  • Add multi-threading. This idea should be trialed further, but I think it may be possible to execute updateFunctionDecompilation in another thread, so the SyntaxParser can do its work in the background while the main thread moves on to the next function. Database operations should still be atomic, thanks to the added transactions.

I only tested these changes with one IPA file. Please verify that everything still works as expected before merging!

Fixes #8.

Wrap multiple SQL statements in a single transaction and share the database connection to drastically speed up the write speed of the function decompilaton results.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Analysing take long time
1 participant