3 Commits

Author SHA1 Message Date
Isaev Denis
52c9b88c25
reduce mem. usage of unused and update staticcheck ()
The primary improvement is in early clearing of
analyzed package's TypeInfo, facts, etc for
whole program analyzers (`unused`). Clear it when it
becomes unused and GC collects them early. Initially this
clearing was performed for all analyzers except `unused`.

Update staticcheck from v0.0.1-2019.2.3 to v0.0.1-2020.1.4

Also in this commit:
  * speed up loading packages from export data (2.5s -> 2.1s for std)
    by not using mutex for export data since it was allowed in
    x/tools#07722704da13
  * make an order of execution of linters stable
  * update renameio and robustio
  * use robustio in caching

Relates: , , , 
2020-05-03 15:20:17 +03:00
Isaev Denis
9ba730e989
Make incremental analysis ()
Cache linting results. Reanalyze only changed packages
and packages tree depending on them.

Fixes , fixes 
2019-10-13 17:40:51 +03:00
Isaev Denis
6a979fb40d
Update staticcheck and cache go/analysis facts ()
* update staticcheck

Don't fork staticcheck: use the upstream version.
Remove unneeded SSA loading.

* Cache go/analysis facts

Don't load unneeded packages for go/analysis.
Repeated run of go/analysis linters now 10x faster
(2s vs 20s on this repo) than before.
2019-09-17 08:42:16 +03:00