Performance
This section documents the performance investigations and improvements made to the Workspace Tasks extension. Each analysis covers root-cause diagnosis, the optimizations applied, and before/after measurements.
v1.6.0
98.5% performance improvement of task discovery in large workspaces.
Test Dataset
All performance measurements were taken against the sample-workspace-tasks project โ a comprehensive multi-language workspace representative of a real-world monorepo.
| Attribute | Value |
|---|---|
| Workspace task providers | 17 (16 built-in + 1 custom) |
Files indexed by TaskFilesService | 53 |
| Shell script tasks | 27 across 10 shell types |
VS Code tasks (.vscode/tasks.json) | 3 |
Custom provider (pantera) | 1 target glob |
Languages and Task Types Represented
The sample workspace exercises every major provider and task runner supported by the extension:
| Category | Technologies |
|---|---|
| Package managers | npm, poetry, pipenv, cargo, bun, pnpm, yarn |
| Build tools | webpack, cmake, cargo-make, gradle, maven |
| Task runners | make, just, grunt, gulp, cake |
| Languages | TypeScript, Python, Go, Rust, Ruby, Perl, Bash, PowerShell, Batch, Deno |
| Containers | Docker, docker-compose |
| CI/CD | GitHub Actions workflows |
| VS Code native | .vscode/tasks.json |
| Custom | .workspace-tasks.json with custom pantera provider |
Sample Directory Layout
sample-workspace-tasks/
โโโ apps/ # Multi-root app subfolders (appA, appB, appC)
โโโ cargo/ # Rust / Cargo tasks
โโโ cmake/ # CMake build tasks
โโโ deno/ # Deno tasks
โโโ docker/ # Dockerfile and docker-compose
โโโ golang/ # Go module tasks
โโโ gradle/ # Gradle build tasks
โโโ grunt/ # Grunt task runner
โโโ gulp/ # Gulp task runner
โโโ justfile/ # just task runner
โโโ makefile/ # GNU Make tasks
โโโ maven/ # Maven build tasks
โโโ nodejs/ # Node.js package tasks
โโโ powershell/ # PowerShell scripts
โโโ python/ # Python (poetry, pipenv, venv)
โโโ ruby/ # Ruby / Rake tasks
โโโ shell/ # Shell scripts (bash, sh, zsh, python, batch)
โโโ .devcontainer/ # Dev container setup scripts
โโโ .vscode/tasks.json # VS Code native tasks
โโโ .workspace-tasks.json # Custom workspace-tasks provider config
Improvement Plans
| Plan | Baseline | After Optimization | Improvement |
|---|---|---|---|
| Workspace Tasks Loading | ~52,000 ms | ~795 ms | ~98.5% |
| Shell Task Loading | ~15,483 ms | ~15,419 ms cold / <10 ms warm | FS scan unavoidable; warm reload eliminated |