Page MenuHomePhabricator

Cache the version for external linters
AbandonedPublic

Authored by joshuaspence on Jan 11 2015, 5:57 AM.
Tags
None
Referenced Files
F19581482: D11315.diff
Feb 1 2026, 7:11 PM
F19581478: D11315.diff
Feb 1 2026, 7:04 PM
F19542794: D11315.id27394.diff
Jan 22 2026, 12:01 PM
F19341749: D11315.diff
Dec 25 2025, 11:28 PM
F18944236: D11315.id.diff
Nov 11 2025, 3:37 PM
F18763828: D11315.id.diff
Oct 7 2025, 2:27 AM
F18761213: D11315.diff
Oct 6 2025, 12:57 PM
F18724335: D11315.id27394.diff
Sep 30 2025, 3:33 AM
Subscribers

Details

Reviewers
epriestley
chad
Group Reviewers
Blessed Reviewers
Summary

Currently there are no safeguards in place to prevent us from making lots of calls to $EXTERNAL_LINTER --version (which is a relatively slow operation). Instead, we can provide a simple cacheing mechanism (using a static variable) in ArcanistExternalLinter. This mainly affects the unit tests of rARC, but there may be other situations in which this will yield performance improvements.

Test Plan

Before

> time ./bin/arc unit -- src/lint/linter
real    0m38.472s
user    0m35.614s
sys 0m3.536s

After

> time ./bin/arc unit -- src/lint/linter
real    0m27.364s
user    0m25.601s
sys 0m2.338s

Diff Detail

Repository
rARC Arcanist
Branch
master
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 3742
Build 3753: [Placeholder Plan] Wait for 30 Seconds