1. 04 3月, 2016 1 次提交
  2. 03 3月, 2016 1 次提交
  3. 02 3月, 2016 2 次提交
  4. 01 3月, 2016 2 次提交
  5. 25 2月, 2016 2 次提交
  6. 20 2月, 2016 1 次提交
    • M
      Optimize allocations in analyzer driver state tracking for syntax tree action... · 64757851
      Manish Vasani 提交于
      Optimize allocations in analyzer driver state tracking for syntax tree action analysis. Instead of tracking state for all pending trees, we now track state only for trees which have started analysis. This ensures we don't create state tracking entries for all trees in compilation at start of analysis - these entries show up in perf traces.
      I have also changed the declaring references cached on SymbolDeclaredEvent to be lazily computed. If we end up computing only syntax diagnostics on a compilation, this will save us allocations.
      64757851
  7. 10 2月, 2016 4 次提交
  8. 06 2月, 2016 5 次提交
  9. 05 2月, 2016 1 次提交
  10. 04 2月, 2016 3 次提交
  11. 15 1月, 2016 2 次提交
  12. 14 1月, 2016 2 次提交
  13. 13 1月, 2016 1 次提交
  14. 29 12月, 2015 2 次提交
    • M
      Address FixAll performance regression in Update1 · 1ff21924
      Manish Vasani 提交于
      Ensure that we use a single CompilationWithAnalyzers instance for computing diagnostics with the LatestDiagnosticsGetter (FixAll code path and other explicit GetDiagnostics requests to the diagnostic service). This avoids us cloning the compilation and re-running analyzer compilation start actions once per each document for which we need to compute diagnostics.
      
      Background analysis based off the solution crawler still creates a new CompilationWithAnalyzers instance per document analysis request as caching it in memory causes high VM usage.
      
      This change addresses the FixAll performance regression in VS2015 Update1 reported in https://github.com/DotNetAnalyzers/StyleCopAnalyzers/pull/1979#issuecomment-166656002.
      1ff21924
    • M
      Ensure that analyzer driver processes declared namespace symbols which are... · d6aecd9b
      Manish Vasani 提交于
      Ensure that analyzer driver processes declared namespace symbols which are scoped to source assembly being analyzed, not the merged namespace symbols with declaring references across the compilation (including referenced assemblies).
      d6aecd9b
  15. 24 12月, 2015 1 次提交
    • M
      Improve analyzer performance for CompilationWithAnalyzers (IDE host): · da03de0e
      Manish Vasani 提交于
      1. Add support for a simulated event queue to generate compilation events by computing declarations in the tree. Invoking GetDiagnostics to populate the event queue is one of the main reason for large allocations/VM in our perf tests. We can get back to using the compilation event queue when the compiler supports attaching an event queue to an existing compilation, without requiring a complete clone.
      
      2. Move the cached compilation data (declarations, suppression state, etc.) out of a conditional weak table and strongly reference it in CompilationWithAnalyzers.
      
      3. Reduce allocations in per-analyzer state maintenance by tracking analyzed declarations instead of pending declarations - latter can be very large for symbols with many declarations (e.g. global namespace).
      da03de0e
  16. 18 12月, 2015 1 次提交
    • M
      Allow analyzers to configure generated code analysis. · f876a57f
      Manish Vasani 提交于
      1. Add a new API: AnalysisContext.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags analysisMode)
      Configures analyzer callbacks + diagnostic reporting for the analyzer. Recommended for analyzer authors to always invoke this API.
      
      2. Analyzer driver uses a heuristic to identify generated code:
        1. Symbols marked with GeneratedCodeAttribute.
        2. Files with specific extensions (see [here](http://source.roslyn.io/Microsoft.CodeAnalysis.Workspaces/R/ef3599fb042e3706.html)).
        3. Files which have a single line comment starting with <auto-generated> at the beginning of a source file.
      
      3. Driver defaults for non-configured analyzers:
        1. Run analysis on generated code: This avoids semantic breaks for analyzers and will be guaranteed to be always enabled in future.
        2. Report all diagnostics on generated code: This will likely be changed to perform some level of default filtering after #3705 is implemented.
      
      Fixes #6998
      f876a57f
  17. 11 12月, 2015 1 次提交
    • M
      This change fixes a few issues for Operation analyzers in lDE live analysis: · 90cb1793
      Manish Vasani 提交于
      1. Ensure that CompilationWithAnalyzers processes symbol declared events for analyzers with just Operation actions (Fixes #7308)
      
      2. Fix the InvalidOperationException from operation action reporting a diagnostic in live analysis (Fixes #7324)
      
      3. Add telemetry for Operation action counts registered per-analyzer. This involves a public API change, basically extending the existing telemetry API for other action counts.
      90cb1793
  18. 09 12月, 2015 2 次提交
  19. 04 12月, 2015 2 次提交
  20. 03 12月, 2015 2 次提交
  21. 02 12月, 2015 1 次提交
  22. 01 12月, 2015 1 次提交