flowistry icon indicating copy to clipboard operation
flowistry copied to clipboard

The Flowistry Todo List

Open willcrichton opened this issue 3 years ago • 0 comments

Features

  • Windows support
    • [x] Fix span bugs? is this related to unicode? document.offsetAt seems character based and not byte-based
    • [x] Add windows target to release builds
    • [x] Should fix #27
  • Editor support
    • [ ] Vim
    • [ ] IntelliJ
    • [ ] Emacs
  • IDE extension options
    • [ ] Disable prefetch at startup
  • Source mapping improvements
    • [x] fn <name> should not be greyed out
    • [x] param: T should not grey out : T when param is relevant
    • [x] return should not be greyed out when return expression is relevant
  • Tests
    • [ ] Add integration tests that run Flowistry on real repos (i.e. git clone > cargo flowistry ...)
  • [ ] Add feature to fold all code not in a focus region

Bugs

  • [x] #31
  • [x] #32
  • [x] #34
  • [ ] Cancellation isn't actually stopping flowistry-driver

Performance

For reference, here's a subset of slow calls when running the command in rust-lang/rust:

focus compiler/rustc_typeck/src/check/op.rs 21361

Screen Shot 2022-02-16 at 11 13 25 AM

  • [x] Create a benchmark to track Flowistry performance. Should include granular information on which pieces are bottlenecks.
    • [x] Program with many lifetimes (in inputs / in body) to stress alias analysis
    • [x] Program with many instructions to stress infoflow analysis
    • [x] Program with giant data structures to test any code relying on Place::interior_*
  • Possible opportunities for optimization:
    • [ ] Loading TyCtxt can take a while, e.g. 2.5s for rustc_typeck. What's causing this? Can it be made more incremental?
    • [ ] Polonius is slow, are there any low hanging fruit we can upstream into datafrog?

willcrichton avatar Feb 16 '22 19:02 willcrichton