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 performance #50

Open
trou opened this issue Oct 20, 2017 · 2 comments
Open

Improve performance #50

trou opened this issue Oct 20, 2017 · 2 comments

Comments

@trou
Copy link
Collaborator

trou commented Oct 20, 2017

  • .ini generation is very slow
  • Identify bottlenecks and fix them :)
  • Python's ConfigParser is slow as hell

#45 should help.

@trou trou added this to the v0.9 milestone Oct 20, 2017
@trou trou modified the milestones: v0.9, v1.0 Jun 29, 2018
@trou
Copy link
Collaborator Author

trou commented Dec 5, 2018

One of the bottlenecks if the filter_vertices function, which iterates over ALL states to find a fixpoint.

As we compare states like this:

      let same prev v' =
        Data.Address.equal prev.Cfa.State.ip v'.Cfa.State.ip &&
          prev.Cfa.State.ctx.Cfa.State.addr_sz = v'.Cfa.State.ctx.Cfa.State.addr_sz &&
            prev.Cfa.State.ctx.Cfa.State.op_sz = v'.Cfa.State.ctx.Cfa.State.op_sz &&
              (* fixpoint reached *)
              D.is_subset v'.Cfa.State.v prev.Cfa.State.v

we could simplify this search by having a hashmap of ip -> Cfa.

@trou
Copy link
Collaborator Author

trou commented Dec 5, 2018

One option is also to [@@inline] critical functions

@trou trou modified the milestones: v1.0, v1.1 Dec 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant