1. 06 3月, 2019 5 次提交
  2. 05 3月, 2019 9 次提交
    • A
      Replace Stack with ArrayBuilder in GreenNode walker (#33840) · d368cdfd
      Andy Gocke 提交于
      This has shown up as a hot allocation path in a few different traces.
      This change amortizes the allocations by using a pooled ArrayBuilder
      instead of allocating a new Stack every time.
      
      The following benchmarks seem to support the hypothesis:
      
      Before change:
      
      ```
      BenchmarkDotNet=v0.11.1, OS=Windows 10.0.17134.590 (1803/April2018Update/Redstone4)
      AMD Ryzen 7 1800X Eight-Core Processor (Max: 3.60GHz), 1 CPU, 16 logical and 8 physical cores
      .NET Core SDK=2.2.103
        [Host] : .NET Core 2.1.8 (CoreCLR 4.6.27317.03, CoreFX 4.6.27317.03), 64bit RyuJIT
        Core   : .NET Core 2.1.8 (CoreCLR 4.6.27317.03, CoreFX 4.6.27317.03), 64bit RyuJIT
      
      Job=Core  Runtime=Core  Server=True
      
                      Method |      Mean |     Error |    StdDev |     Gen 0 | Allocated |
      ---------------------- |----------:|----------:|----------:|----------:|----------:|
                     Parsing |  65.25 ms |  1.301 ms |  2.568 ms |         - |   6.57 MB |
       CompileMethodsAndEmit | 634.00 ms | 12.640 ms | 22.468 ms | 1000.0000 |  40.29 MB |
           SerializeMetadata | 200.52 ms |  3.656 ms |  3.241 ms | 1000.0000 |  17.39 MB |
      ```
      
      After change:
      
      ```
      BenchmarkDotNet=v0.11.1, OS=Windows 10.0.17134.590 (1803/April2018Update/Redstone4)
      AMD Ryzen 7 1800X Eight-Core Processor (Max: 3.60GHz), 1 CPU, 16 logical and 8 physical cores
      .NET Core SDK=2.2.103
        [Host] : .NET Core 2.1.8 (CoreCLR 4.6.27317.03, CoreFX 4.6.27317.03), 64bit RyuJIT
        Core   : .NET Core 2.1.8 (CoreCLR 4.6.27317.03, CoreFX 4.6.27317.03), 64bit RyuJIT
      
      Job=Core  Runtime=Core  Server=True
      
                      Method |      Mean |     Error |    StdDev |     Gen 0 | Allocated |
      ---------------------- |----------:|----------:|----------:|----------:|----------:|
                     Parsing |  67.26 ms |  1.344 ms |  3.321 ms |         - |   2.59 MB |
       CompileMethodsAndEmit | 627.23 ms | 13.307 ms | 23.995 ms | 1000.0000 |  28.85 MB |
           SerializeMetadata | 206.02 ms |  4.087 ms |  5.991 ms | 1000.0000 |  17.39 MB |
      ```
      d368cdfd
    • A
      Merge pull request #33834 from CyrusNajmabadi/virtualChars · 95a6f7b9
      Andrew Hall 提交于
      Introduce more efficient internal representation of a sequence VirtualChars
      95a6f7b9
    • S
      Merge pull request #33831 from sharwell/unnecessary-wait · 2611d10e
      Sam Harwell 提交于
      Remove unnecessary (duplicate) WaitForAsyncOperations
      2611d10e
    • A
      Add a regression test for nullable range indexer (#33803) · 1adfc537
      Andy Gocke 提交于
      Closes #31748
      1adfc537
    • D
      Merge pull request #33806 from dibarbet/redundant_assignment_trivia · 6752c0f7
      David 提交于
      Move leading trivia with node when removing unused values.  Resolves #33312
      6752c0f7
    • C
      Simplify · 8bfd5c59
      Cyrus Najmabadi 提交于
      8bfd5c59
    • C
      Update VirtualCharSequence.cs · d6402b28
      CyrusNajmabadi 提交于
      d6402b28
    • S
      Merge pull request #33397 from tiesmaster/fix-33253 · 6c0056cb
      Sam Harwell 提交于
      Fix #33253: Smart Indent does not handle fluent sequences correctly
      6c0056cb
    • J
      2cc618db
  3. 04 3月, 2019 18 次提交
  4. 03 3月, 2019 8 次提交