Skip to content

Implement asynchronous searches for various ghc-debug-brick analyses

Hannes Siebenhandl requested to merge wip/fendor/async-actions-brick into master

Implements asynchronous heap traversals for:

  • Thunk analysis
  • Strings
  • ArrWords
  • Profiles level 1 & 2

Thunk analysis is also now performed in parallel, which speeds it up tremendously.

The heap traversals happen on a separate thread and every second, we ask for the current state of the traversal. Then we simply update the view and make sure the IOTree is in a consistent state.

We introduce async variants of various heap traversals.

Last but not least, we improve the async safety of the parallel heap traversal to use async primitives in a more direct manner. This ensures that threads get timely cancelled if one of the operations is cancelled or crashes.

Edited by Hannes Siebenhandl

Merge request reports

Loading