UI cannot keep up with event generation from `make` process
- Dominant language
- Haskell
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The comparatively slow redraws of the UI throttle the speed at which new lines are displayed immensely, especially in very large Make graphs. This can lead to situations where the UI suggests that new lines are still being added despite the `make` process already being done.
Potential solutions include:
- Batching events (an experimental implementation can be found on the branch [`batched-events`](https://github.com/fwcd/tuimake/tree/batched-events))
- This suffers from the issue that the EOF is caught too quickly though and thus events may be dropped... from the user's point of view, the application appears 'stuck' although the make process already terminated)
- Increase the size of the channel (currently 10)
- This works great for small make graphs, but essentially just defers the issue
- Emitting fewer events
- For example, if we could filter the entire debug output from make (e.g. the "Prequisite ..." messages), we might get reasonably few events in many use cases
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the experimental batched-events branch and the event channel and redraw paths it changes; no specific files or tests are named in the issue. Reproduce the lag with a large Make graph, then verify that all generated lines are displayed and the UI reflects make completion without dropped events.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- cli, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100