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

optimize ram #72

Open
gogo2464 opened this issue Feb 1, 2024 · 1 comment
Open

optimize ram #72

gogo2464 opened this issue Feb 1, 2024 · 1 comment

Comments

@gogo2464
Copy link
Contributor

gogo2464 commented Feb 1, 2024

In the future, could ddisasm require less ram please?

@aeflores
Copy link
Collaborator

This is something that we have considered internally a lot.

A big part of the memory consumption comes from doing superset disassembly at the beginning (decoding every possible offset in the code sections) and computing a lot of related information for all those instructions. Some of that "eager" computation could be done lazily by using functors more extensively, and that could result in significant memory savings, but that would likely make the code more complicated too.

I think we could achieve greater savings by doing changes in Souffle, the Datalog engine. Right now, Souffle data structures mainly prioritize performance and generality. We could probably keep performance and save space by giving away generality, i.e. having specialized data structures for the kind of relations needed for disassembly.

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

No branches or pull requests

2 participants