Azure / Azure/bicep

De-bounce linter analyzers and run them on a separate thread

Open
#3,786 1 comment 0 reactions 0 assignees View on GitHub
enhancement performance story: linter tech debt
Dominant language
Bicep
Stars
3.6k
Forks
830
Avg merge
1d 4h
Merged PRs (30d)
81

Description

Some of our linters are very CPU intensive; running them synchronously can result in a laggy overall experience. To address this, we should:
* Run them asynchronously on a different thread to avoid blocking the publishing of core diagnostics and introducing a lag.
* Consider de-bouncing them to avoid constant keystrokes from continuously invoking the linters (only run linters on the latest copy of a compilation, ~X seconds after it has been modified).

See #3636 for discussion on an example perf problem which this could help alleviate.

Contributor guide

Open the contributing guide

Research direction

Start with the discussion in #3636 and trace where compilation updates invoke the CPU-intensive linters. Define the debounce interval and verify that core diagnostics are not delayed while linters run on a separate thread and only process the latest compilation.

Written by the indexing model from the issue text.

Assessment

Domain
performance, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.