Skip to content

Roadmap

Jonathan Ross edited this page Jan 26, 2014 · 14 revisions

If you've poked around my Github repo, you'll also notice I have a Go version of this called Helmet. It's still far behind in functionality and full of bugs but is dramatically faster. I haven't decided which one I will put most of my (very limited) time into.

Needs

  • Speed, speed, speed. Trilby is more or less on par with MAT but has the potential to be faster, and also doesn't cache scan results to disk like MAT does. Notably I'd like
    • Multi-threaded heap scan
    • Multi-threaded query processing
    • Dominator analysis in O(n) time and space (currently uses Lengauer-Tarjan, with a minor change to pre-filter leaf trees)
    • Code hotpoints rewritten in Java
  • Reduced memory usage. There are several opportunities for optimizing sizes, graph offsets, and other places where we store per-object or per-reference information.
  • A UI. The command line was great for getting the tool off the ground, but that won't take it very far.
  • A query tutorial.
  • Better error messages out of the query PEG (maybe rewrite using Parboiled?)
  • Better use of Scala features (without killing the GC) and better Scala coding style in general. :-)
Clone this wiki locally