Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add NonderterministicFastCommit to speed up migrations (for branch without atree inlining) #406

Commits on May 14, 2024

  1. Add NonderterministicFastCommit

    NonderterministicFastCommit commits changes in nondeterministic order.
    It can be used by migration program when ordering isn't required.
    
                                 │  before.txt  │              after.txt               │
                                 │    sec/op    │    sec/op     vs base                │
    StorageFastCommit/10-12         89.72µ ± 4%   57.50µ ±  3%  -35.92% (p=0.000 n=10)
    StorageFastCommit/100-12        118.9µ ± 1%   116.0µ ±  4%        ~ (p=0.436 n=10)
    StorageFastCommit/1000-12       4.086m ± 5%   2.397m ± 25%  -41.35% (p=0.000 n=10)
    StorageFastCommit/10000-12     12.629m ± 4%   9.857m ±  3%  -21.95% (p=0.000 n=10)
    StorageFastCommit/100000-12    102.73m ± 0%   72.26m ±  1%  -29.66% (p=0.000 n=10)
    StorageFastCommit/1000000-12     1.544 ± 2%    1.141 ±  2%  -26.09% (p=0.000 n=10)
    geomean                         6.661m        4.848m        -27.21%
    
                                 │  before.txt  │              after.txt              │
                                 │     B/op     │     B/op      vs base               │
    StorageFastCommit/10-12        28.92Ki ± 0%   28.05Ki ± 0%  -3.00% (p=0.000 n=10)
    StorageFastCommit/100-12       286.4Ki ± 0%   278.6Ki ± 0%  -2.71% (p=0.000 n=10)
    StorageFastCommit/1000-12      3.009Mi ± 0%   2.901Mi ± 0%  -3.58% (p=0.000 n=10)
    StorageFastCommit/10000-12     28.65Mi ± 0%   27.79Mi ± 0%  -2.98% (p=0.000 n=10)
    StorageFastCommit/100000-12    278.8Mi ± 0%   271.1Mi ± 0%  -2.75% (p=0.000 n=10)
    StorageFastCommit/1000000-12   2.923Gi ± 0%   2.821Gi ± 0%  -3.49% (p=0.000 n=10)
    geomean                        9.101Mi        8.820Mi       -3.09%
    
                                 │ before.txt  │             after.txt              │
                                 │  allocs/op  │  allocs/op   vs base               │
    StorageFastCommit/10-12         219.0 ± 0%    205.0 ± 0%  -6.39% (p=0.000 n=10)
    StorageFastCommit/100-12       1.980k ± 0%   1.875k ± 0%  -5.30% (p=0.000 n=10)
    StorageFastCommit/1000-12      19.23k ± 0%   18.23k ± 0%  -5.22% (p=0.000 n=10)
    StorageFastCommit/10000-12     191.1k ± 0%   181.1k ± 0%  -5.24% (p=0.000 n=10)
    StorageFastCommit/100000-12    1.918M ± 0%   1.816M ± 0%  -5.30% (p=0.000 n=10)
    StorageFastCommit/1000000-12   19.15M ± 0%   18.15M ± 0%  -5.22% (p=0.000 n=10)
    geomean                        62.31k        58.91k       -5.45%
    fxamacker committed May 14, 2024
    Configuration menu
    Copy the full SHA
    b90ca44 View commit details
    Browse the repository at this point in the history
  2. Add more tests

    fxamacker committed May 14, 2024
    Configuration menu
    Copy the full SHA
    a0bcce2 View commit details
    Browse the repository at this point in the history
  3. Refactor to iterate deltas once in NonderterministicFastCommit

    This change reduces number of lines in the function but is
    not expected to yield significant speed improvements.
    fxamacker committed May 14, 2024
    Configuration menu
    Copy the full SHA
    94d407f View commit details
    Browse the repository at this point in the history
  4. Lint

    fxamacker committed May 14, 2024
    Configuration menu
    Copy the full SHA
    75e4960 View commit details
    Browse the repository at this point in the history
  5. Lint

    fxamacker committed May 14, 2024
    Configuration menu
    Copy the full SHA
    562f2fc View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7b4efdb View commit details
    Browse the repository at this point in the history