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

Test benchmark ci #1163

Closed
wants to merge 1 commit into from
Closed

Test benchmark ci #1163

wants to merge 1 commit into from

Conversation

chacha912
Copy link
Contributor

@chacha912 chacha912 commented Feb 20, 2025

What this PR does / why we need it:

Test benchmark ci

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:


Additional documentation:


Checklist:

  • Added relevant tests or not required
  • Addressed and resolved all CodeRabbit review comments
  • Didn't break anything

Summary by CodeRabbit

  • Tests
    • Updated benchmark configurations to use reduced snapshot intervals and thresholds during performance evaluations. These adjustments refine how the server is tested under simulated operational loads, potentially offering more responsive performance insights without altering everyday functionality.

Copy link

coderabbitai bot commented Feb 20, 2025

Walkthrough

The pull request updates the benchmark test configuration in the BenchmarkVersionVector function. The parameters passed to the startTestServer function have been modified from (100000, 100000) to (10, 5), affecting the snapshot interval and threshold used during the benchmark runs. No changes were made to the rest of the function or any exported entities.

Changes

File Description
test/.../vv_bench_test.go Updated the parameters in the call to startTestServer within the BenchmarkVersionVector function.

Suggested reviewers

  • hackerwins

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8d1f1ae and e95dbfa.

📒 Files selected for processing (1)
  • test/bench/vv_bench_test.go (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: bench
  • GitHub Check: build
🔇 Additional comments (1)
test/bench/vv_bench_test.go (1)

203-203: Verify the impact of reduced snapshot parameters on benchmark accuracy.

The significant reduction in snapshot parameters (interval: 10, threshold: 5) could affect the benchmark's ability to represent real-world scenarios and catch performance regressions effectively.

Consider the following:

  1. These values will trigger snapshots very frequently, which might introduce overhead that wouldn't exist in production.
  2. The low threshold might not accurately simulate real-world document sizes and change frequencies.

Please:

  1. Document the rationale for choosing these specific values.
  2. Verify that these parameters don't adversely affect the benchmark's ability to catch performance regressions.
  3. Consider adding a comment explaining the trade-off between CI execution time and benchmark accuracy.
✨ Finishing Touches
  • 📝 Generate Docstrings (Beta)

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

codecov bot commented Feb 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 38.56%. Comparing base (8d1f1ae) to head (e95dbfa).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1163   +/-   ##
=======================================
  Coverage   38.56%   38.56%           
=======================================
  Files         170      170           
  Lines       25441    25441           
=======================================
  Hits         9812     9812           
  Misses      14808    14808           
  Partials      821      821           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

@hackerwins-yorkie hackerwins-yorkie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comment

Copy link

@hackerwins-yorkie hackerwins-yorkie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go Benchmark Analysis 📊

This is a comparison result between the previous(e687d61) and the current commit(8c86057).

Significant Changes (≥20% difference)

Benchmark suite Previous Current Change
BenchmarkVersionVector/clients_1000/ (4_attach(ms)) 249.00 ms 10.00 ms 🟢 -95.98%
BenchmarkVersionVector/clients_1000/ (B/op) 22.07 GB 6.64 GB 🟢 -69.91%
BenchmarkVersionVector/clients_100/ (4_attach(ms)) 11.00 ms 6.00 ms 🟢 -45.45%
BenchmarkVersionVector/clients_1000/ (ns/op) 60.97 s 35.99 s 🟢 -40.98%
BenchmarkVersionVector/clients_1000/ (allocs/op) 111,762,106 allocs 77,888,894 allocs 🟢 -30.31%
BenchmarkSplayTree/random_access_300000/ (ns/op) 0.04 ns 0.06 ns 🔴 +25.35%

Key Observations 🔍

  • The benchmark data for BenchmarkVersionVector/clients_1000/ shows a significant improvement in multiple metrics:

    • Time taken for 4_attach reduced by 95.98%.
    • Data size (B/op) decreased by 69.91%.
    • Number of allocations reduced by 30.31%.
    • Time for ns/op reduced by 40.98%. These improvements indicate a substantial enhancement in performance for this benchmark suite.
  • In contrast, the BenchmarkSplayTree/random_access_300000/ benchmark showed an increase in the time taken for ns/op by 25.35%. While this is a notable decrease in performance compared to the other benchmarks, it is the only significant change in this suite. Further analysis may be needed to identify the reason behind this increase.

  • Overall, the benchmarks exhibit various performance changes, with some showing improvements while others experienced slight declines. The majority of benchmarks showed relatively minor changes, with a few exceptions. These changes could be indicative of optimizations or potential areas for further investigation.

Clock Analysis

Lamport (v0.5.2)

Metric 10 clients 100 clients 1000 clients
Total Operation Time 84.96 ms 793.94 ms 34,794.80 ms
Memory Allocations 35.11 MB 219.92 MB 4.91 GB
Number of Allocations (allocs/op) 69,271 1,246,728 81,485,288
ChangePack Size 138.0 B 137.0 B 141.0 B
Snapshot Size 379.0 B 3.08 KB 30.08 KB
Push-Pull Time 2.0 ms 1.5 ms 4.0 ms
Attach Time 4.5 ms 11.0 ms 31.0 ms
ChangePack After Detach 138.0 B 140.0 B 141.0 B
Snapshot After Detach 136.0 B 137.0 B 139.0 B
Push-Pull After Detach 2.5 ms 5.0 ms 9.5 ms

VV (current)

Metric 10 clients 100 clients 1000 clients
Total Operation Time 160.71 ms 1.40 s 35.99 s
Memory Allocations 20.65 MB 216.31 MB 6.64 GB
Number of Allocations (allocs/op) 83,626 1,358,646 77,888,894
ChangePack Size 745.00 B 6.14 KB 60.16 KB
Snapshot Size 379.00 B 3.08 KB 30.08 KB
Push-Pull Time 7.00 ms 11.00 ms 93.00 ms
Attach Time 6.00 ms 6.00 ms 10.00 ms
ChangePack After Detach 805.00 B 6.21 KB 60.22 KB
Snapshot After Detach 136.00 B 137.00 B 139.00 B
Push-Pull After Detach 8.00 ms 9.00 ms 21.00 ms

Summary

  • Lamport clock generally outperforms Version Vector in terms of total operation time across different client loads.
  • Version Vector consumes more memory compared to Lamport clock as the number of clients increase.
  • Lamport clock has lower number of allocations per operation compared to Version Vector.
  • Version Vector has larger ChangePack sizes, especially with higher numbers of clients.
  • Lamport generally has faster push-pull times compared to Version Vector.
  • Version Vector shows faster attach times as the number of clients increases but still has room for improvement.
  • Lamport clock maintains more consistent performance with detach operations compared to Version Vector.
  • Version Vector has shown significant improvement in total operation time with 1000 clients compared to Lamport clock.

Detailed Test Results

BenchmarkDocument
Benchmark suite Previous Current Change
constructor_test/ (ns/op) 1439.00 ns 1434.00 ns 🟢 -0.35%
constructor_test/ (B/op) 1.39 KB 1.39 KB ⚪ 0%
constructor_test/ (allocs/op) 24 allocs 24 allocs ⚪ 0%
status_test/ (ns/op) 1028.00 ns 1024.00 ns 🟢 -0.39%
status_test/ (B/op) 1.35 KB 1.35 KB ⚪ 0%
status_test/ (allocs/op) 22 allocs 22 allocs ⚪ 0%
equals_test/ (ns/op) 7864.00 ns 7764.00 ns 🟢 -1.27%
equals_test/ (B/op) 7.56 KB 7.56 KB ⚪ 0%
equals_test/ (allocs/op) 129 allocs 129 allocs ⚪ 0%
nested_update_test/ (ns/op) 17079.00 ns 17240.00 ns 🔴 +0.94%
nested_update_test/ (B/op) 12.31 KB 12.31 KB ⚪ 0%
nested_update_test/ (allocs/op) 258 allocs 258 allocs ⚪ 0%
delete_test/ (ns/op) 27313.00 ns 22850.00 ns 🟢 -16.34%
delete_test/ (B/op) 15.79 KB 15.79 KB ⚪ 0%
delete_test/ (allocs/op) 339 allocs 339 allocs ⚪ 0%
object_test/ (ns/op) 8546.00 ns 8863.00 ns 🔴 +3.71%
object_test/ (B/op) 7.03 KB 7.03 KB 🔴 +0.01%
object_test/ (allocs/op) 118 allocs 118 allocs ⚪ 0%
array_test/ (ns/op) 28984.00 ns 30685.00 ns 🔴 +5.87%
array_test/ (B/op) 12.14 KB 12.14 KB ⚪ 0%
array_test/ (allocs/op) 273 allocs 273 allocs ⚪ 0%
text_test/ (ns/op) 32155.00 ns 31952.00 ns 🟢 -0.63%
text_test/ (B/op) 15.19 KB 15.19 KB ⚪ 0%
text_test/ (allocs/op) 484 allocs 484 allocs ⚪ 0%
text_composition_test/ (ns/op) 31674.00 ns 31578.00 ns 🟢 -0.30%
text_composition_test/ (B/op) 18.70 KB 18.70 KB ⚪ 0%
text_composition_test/ (allocs/op) 501 allocs 501 allocs ⚪ 0%
rich_text_test/ (ns/op) 87424.00 ns 85732.00 ns 🟢 -1.94%
rich_text_test/ (B/op) 39.36 KB 39.36 KB ⚪ 0%
rich_text_test/ (allocs/op) 1,146 allocs 1,146 allocs ⚪ 0%
counter_test/ (ns/op) 18201.00 ns 18089.00 ns 🟢 -0.62%
counter_test/ (B/op) 11.81 KB 11.81 KB ⚪ 0%
counter_test/ (allocs/op) 253 allocs 253 allocs ⚪ 0%
text_edit_gc_100/ (ns/op) 1.39 ms 1.40 ms 🔴 +0.99%
text_edit_gc_100/ (B/op) 864.90 KB 864.86 KB ⚪ 0%
text_edit_gc_100/ (allocs/op) 17,281 allocs 17,282 allocs ⚪ 0%
text_edit_gc_1000/ (ns/op) 53.39 ms 52.46 ms 🟢 -1.74%
text_edit_gc_1000/ (B/op) 46.84 MB 46.84 MB ⚪ 0%
text_edit_gc_1000/ (allocs/op) 185,598 allocs 185,576 allocs 🟢 -0.01%
text_split_gc_100/ (ns/op) 2.12 ms 2.13 ms 🔴 +0.33%
text_split_gc_100/ (B/op) 1.58 MB 1.58 MB ⚪ 0%
text_split_gc_100/ (allocs/op) 15,950 allocs 15,951 allocs ⚪ 0%
text_split_gc_1000/ (ns/op) 128.25 ms 126.98 ms 🟢 -0.99%
text_split_gc_1000/ (B/op) 137.79 MB 137.79 MB ⚪ 0%
text_split_gc_1000/ (allocs/op) 185,000 allocs 184,989 allocs ⚪ 0%
text_delete_all_10000/ (ns/op) 18.43 ms 16.45 ms 🟢 -10.74%
text_delete_all_10000/ (B/op) 10.58 MB 10.58 MB 🔴 +0.01%
text_delete_all_10000/ (allocs/op) 56,134 allocs 56,139 allocs ⚪ 0%
text_delete_all_100000/ (ns/op) 312.31 ms 276.13 ms 🟢 -11.58%
text_delete_all_100000/ (B/op) 105.54 MB 105.53 MB 🟢 -0.01%
text_delete_all_100000/ (allocs/op) 566,133 allocs 566,062 allocs 🟢 -0.01%
text_100/ (ns/op) 234634.00 ns 244529.00 ns 🔴 +4.22%
text_100/ (B/op) 120.94 KB 120.91 KB 🟢 -0.03%
text_100/ (allocs/op) 5,181 allocs 5,181 allocs ⚪ 0%
text_1000/ (ns/op) 2.46 ms 2.57 ms 🔴 +4.46%
text_1000/ (B/op) 1.16 MB 1.16 MB ⚪ 0%
text_1000/ (allocs/op) 51,084 allocs 51,084 allocs ⚪ 0%
array_1000/ (ns/op) 1.24 ms 1.30 ms 🔴 +4.88%
array_1000/ (B/op) 1.09 MB 1.09 MB 🔴 +0.02%
array_1000/ (allocs/op) 11,879 allocs 11,879 allocs ⚪ 0%
array_10000/ (ns/op) 13.33 ms 13.60 ms 🔴 +2.02%
array_10000/ (B/op) 9.89 MB 9.89 MB ⚪ 0%
array_10000/ (allocs/op) 120,735 allocs 120,737 allocs ⚪ 0%
array_gc_100/ (ns/op) 131750.00 ns 138249.00 ns 🔴 +4.93%
array_gc_100/ (B/op) 99.89 KB 99.89 KB ⚪ 0%
array_gc_100/ (allocs/op) 1,266 allocs 1,266 allocs ⚪ 0%
array_gc_1000/ (ns/op) 1.42 ms 1.47 ms 🔴 +3.68%
array_gc_1000/ (B/op) 1.14 MB 1.14 MB ⚪ 0%
array_gc_1000/ (allocs/op) 12,926 allocs 12,926 allocs ⚪ 0%
counter_1000/ (ns/op) 202098.00 ns 212418.00 ns 🔴 +5.11%
counter_1000/ (B/op) 178.13 KB 178.14 KB ⚪ 0%
counter_1000/ (allocs/op) 5,771 allocs 5,771 allocs ⚪ 0%
counter_10000/ (ns/op) 2.17 ms 2.24 ms 🔴 +3.10%
counter_10000/ (B/op) 2.07 MB 2.07 MB ⚪ 0%
counter_10000/ (allocs/op) 59,778 allocs 59,778 allocs ⚪ 0%
object_1000/ (ns/op) 1.39 ms 1.50 ms 🔴 +7.84%
object_1000/ (B/op) 1.44 MB 1.44 MB ⚪ 0%
object_1000/ (allocs/op) 9,925 allocs 9,925 allocs ⚪ 0%
object_10000/ (ns/op) 14.82 ms 15.03 ms 🔴 +1.42%
object_10000/ (B/op) 12.35 MB 12.35 MB ⚪ 0%
object_10000/ (allocs/op) 101,232 allocs 101,233 allocs ⚪ 0%
tree_100/ (ns/op) 1.02 ms 1.08 ms 🔴 +5.57%
tree_100/ (B/op) 951.02 KB 951.03 KB ⚪ 0%
tree_100/ (allocs/op) 6,102 allocs 6,102 allocs ⚪ 0%
tree_1000/ (ns/op) 74.23 ms 80.59 ms 🔴 +8.57%
tree_1000/ (B/op) 86.58 MB 86.58 MB ⚪ 0%
tree_1000/ (allocs/op) 60,111 allocs 60,112 allocs ⚪ 0%
tree_10000/ (ns/op) 9.68 s 9.88 s 🔴 +2.09%
tree_10000/ (B/op) 8.58 GB 8.58 GB ⚪ 0%
tree_10000/ (allocs/op) 600,173 allocs 600,191 allocs ⚪ 0%
tree_delete_all_1000/ (ns/op) 78.41 ms 82.15 ms 🔴 +4.78%
tree_delete_all_1000/ (B/op) 87.57 MB 87.57 MB ⚪ 0%
tree_delete_all_1000/ (allocs/op) 75,289 allocs 75,289 allocs ⚪ 0%
tree_edit_gc_100/ (ns/op) 3.96 ms 3.97 ms 🔴 +0.12%
tree_edit_gc_100/ (B/op) 4.15 MB 4.15 MB ⚪ 0%
tree_edit_gc_100/ (allocs/op) 15,147 allocs 15,146 allocs ⚪ 0%
tree_edit_gc_1000/ (ns/op) 332.75 ms 338.05 ms 🔴 +1.60%
tree_edit_gc_1000/ (B/op) 384.04 MB 384.04 MB ⚪ 0%
tree_edit_gc_1000/ (allocs/op) 154,952 allocs 154,934 allocs 🟢 -0.01%
tree_split_gc_100/ (ns/op) 2.67 ms 2.74 ms 🔴 +2.71%
tree_split_gc_100/ (B/op) 2.41 MB 2.41 MB ⚪ 0%
tree_split_gc_100/ (allocs/op) 11,131 allocs 11,131 allocs ⚪ 0%
tree_split_gc_1000/ (ns/op) 197.74 ms 207.84 ms 🔴 +5.11%
tree_split_gc_1000/ (B/op) 222.50 MB 222.50 MB ⚪ 0%
tree_split_gc_1000/ (allocs/op) 122,053 allocs 122,071 allocs 🔴 +0.01%
BenchmarkRPC
Benchmark suite Previous Current Change
client_to_server/ (ns/op) 431.85 ms 422.43 ms 🟢 -2.18%
client_to_server/ (B/op) 16.13 MB 16.15 MB 🔴 +0.09%
client_to_server/ (allocs/op) 223,674 allocs 223,646 allocs 🟢 -0.01%
client_to_client_via_server/ (ns/op) 788.62 ms 783.72 ms 🟢 -0.62%
client_to_client_via_server/ (B/op) 37.20 MB 39.42 MB 🔴 +5.98%
client_to_client_via_server/ (allocs/op) 478,656 allocs 478,414 allocs 🟢 -0.05%
attach_large_document/ (ns/op) 1.32 s 1.31 s 🟢 -1.18%
attach_large_document/ (B/op) 1.89 GB 1.89 GB 🔴 +0.42%
attach_large_document/ (allocs/op) 12,321 allocs 12,088 allocs 🟢 -1.89%
adminCli_to_server/ (ns/op) 542.08 ms 536.90 ms 🟢 -0.96%
adminCli_to_server/ (B/op) 21.76 MB 21.65 MB 🟢 -0.48%
adminCli_to_server/ (allocs/op) 291,952 allocs 291,988 allocs 🔴 +0.01%
BenchmarkLocker
Benchmark suite Previous Current Change
(ns/op) 82.86 ns 81.02 ns 🟢 -2.22%
(B/op) 32.00 B 32.00 B ⚪ 0%
(allocs/op) 1 allocs 1 allocs ⚪ 0%
BenchmarkLockerParallel
Benchmark suite Previous Current Change
(ns/op) 45.80 ns 44.86 ns 🟢 -2.05%
(B/op) 0.00 B 0.00 B ⚪ 0%
(allocs/op) 0 allocs 0 allocs ⚪ 0%
BenchmarkLockerMoreKeys
Benchmark suite Previous Current Change
(ns/op) 180.50 ns 177.90 ns 🟢 -1.44%
(B/op) 31.00 B 31.00 B ⚪ 0%
(allocs/op) 0 allocs 0 allocs ⚪ 0%
BenchmarkRWLocker
Benchmark suite Previous Current Change
RWLock_rate_2/ (ns/op) 50.25 ns 49.41 ns 🟢 -1.67%
RWLock_rate_2/ (B/op) 0.00 B 0.00 B ⚪ 0%
RWLock_rate_2/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
RWLock_rate_10/ (ns/op) 44.88 ns 43.47 ns 🟢 -3.14%
RWLock_rate_10/ (B/op) 0.00 B 0.00 B ⚪ 0%
RWLock_rate_10/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
RWLock_rate_100/ (ns/op) 63.08 ns 59.32 ns 🟢 -5.96%
RWLock_rate_100/ (B/op) 2.00 B 2.00 B ⚪ 0%
RWLock_rate_100/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
RWLock_rate_1000/ (ns/op) 91.91 ns 87.91 ns 🟢 -4.35%
RWLock_rate_1000/ (B/op) 8.00 B 8.00 B ⚪ 0%
RWLock_rate_1000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
BenchmarkChange
Benchmark suite Previous Current Change
Push_10_Changes/ (ns/op) 4.54 ms 4.58 ms 🔴 +0.83%
Push_10_Changes/ (B/op) 150.42 KB 150.36 KB 🟢 -0.04%
Push_10_Changes/ (allocs/op) 1,623 allocs 1,623 allocs ⚪ 0%
Push_100_Changes/ (ns/op) 16.52 ms 16.64 ms 🔴 +0.76%
Push_100_Changes/ (B/op) 770.59 KB 770.72 KB 🔴 +0.02%
Push_100_Changes/ (allocs/op) 8,509 allocs 8,509 allocs ⚪ 0%
Push_1000_Changes/ (ns/op) 129.20 ms 130.59 ms 🔴 +1.08%
Push_1000_Changes/ (B/op) 7.22 MB 7.36 MB 🔴 +1.95%
Push_1000_Changes/ (allocs/op) 79,325 allocs 79,324 allocs ⚪ 0%
Pull_10_Changes/ (ns/op) 3.70 ms 3.71 ms 🔴 +0.28%
Pull_10_Changes/ (B/op) 124.59 KB 124.79 KB 🔴 +0.17%
Pull_10_Changes/ (allocs/op) 1,456 allocs 1,457 allocs 🔴 +0.07%
Pull_100_Changes/ (ns/op) 5.32 ms 5.31 ms 🟢 -0.19%
Pull_100_Changes/ (B/op) 354.61 KB 354.48 KB 🟢 -0.04%
Pull_100_Changes/ (allocs/op) 5,182 allocs 5,181 allocs 🟢 -0.02%
Pull_1000_Changes/ (ns/op) 10.88 ms 10.93 ms 🔴 +0.46%
Pull_1000_Changes/ (B/op) 2.20 MB 2.20 MB 🟢 -0.18%
Pull_1000_Changes/ (allocs/op) 44,681 allocs 44,682 allocs ⚪ 0%
BenchmarkSnapshot
Benchmark suite Previous Current Change
Push_3KB_snapshot/ (ns/op) 19.55 ms 19.01 ms 🟢 -2.78%
Push_3KB_snapshot/ (B/op) 905.58 KB 906.29 KB 🔴 +0.08%
Push_3KB_snapshot/ (allocs/op) 8,516 allocs 8,512 allocs 🟢 -0.05%
Push_30KB_snapshot/ (ns/op) 132.18 ms 138.03 ms 🔴 +4.42%
Push_30KB_snapshot/ (B/op) 8.24 MB 8.33 MB 🔴 +1.08%
Push_30KB_snapshot/ (allocs/op) 89,008 allocs 90,477 allocs 🔴 +1.65%
Pull_3KB_snapshot/ (ns/op) 7.80 ms 7.52 ms 🟢 -3.64%
Pull_3KB_snapshot/ (B/op) 1.12 MB 1.12 MB 🟢 -0.02%
Pull_3KB_snapshot/ (allocs/op) 20,064 allocs 20,062 allocs ⚪ 0%
Pull_30KB_snapshot/ (ns/op) 19.91 ms 19.71 ms 🟢 -0.99%
Pull_30KB_snapshot/ (B/op) 9.31 MB 9.31 MB 🟢 -0.05%
Pull_30KB_snapshot/ (allocs/op) 193,610 allocs 193,607 allocs ⚪ 0%
BenchmarkSplayTree
Benchmark suite Previous Current Change
stress_test_100000/ (ns/op) 0.19 ns 0.19 ns 🟢 -1.39%
stress_test_100000/ (B/op) 0.00 B 0.00 B ⚪ 0%
stress_test_100000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
stress_test_200000/ (ns/op) 0.40 ns 0.38 ns 🟢 -4.30%
stress_test_200000/ (B/op) 0.00 B 0.00 B ⚪ 0%
stress_test_200000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
stress_test_300000/ (ns/op) 0.57 ns 0.57 ns 🟢 -0.04%
stress_test_300000/ (B/op) 0.00 B 0.00 B ⚪ 0%
stress_test_300000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
random_access_100000/ (ns/op) 0.01 ns 0.01 ns 🔴 +0.16%
random_access_100000/ (B/op) 0.00 B 0.00 B ⚪ 0%
random_access_100000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
random_access_200000/ (ns/op) 0.03 ns 0.03 ns 🔴 +2.11%
random_access_200000/ (B/op) 0.00 B 0.00 B ⚪ 0%
random_access_200000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
random_access_300000/ (ns/op) 0.04 ns 0.06 ns 🔴 +25.35%
random_access_300000/ (B/op) 0.00 B 0.00 B ⚪ 0%
random_access_300000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
editing_trace_bench/ (ns/op) 0.00 ns 0.00 ns 🔴 +1.58%
editing_trace_bench/ (B/op) 0.00 B 0.00 B ⚪ 0%
editing_trace_bench/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
BenchmarkSync
Benchmark suite Previous Current Change
memory_sync_10_test/ (ns/op) 7288.00 ns 7106.00 ns 🟢 -2.50%
memory_sync_10_test/ (B/op) 1.34 KB 1.34 KB 🔴 +0.07%
memory_sync_10_test/ (allocs/op) 35 allocs 35 allocs ⚪ 0%
memory_sync_100_test/ (ns/op) 55353.00 ns 55257.00 ns 🟢 -0.17%
memory_sync_100_test/ (B/op) 9.51 KB 9.50 KB 🟢 -0.08%
memory_sync_100_test/ (allocs/op) 268 allocs 268 allocs ⚪ 0%
memory_sync_1000_test/ (ns/op) 616285.00 ns 619286.00 ns 🔴 +0.49%
memory_sync_1000_test/ (B/op) 75.92 KB 75.89 KB 🟢 -0.04%
memory_sync_1000_test/ (allocs/op) 2,111 allocs 2,110 allocs 🟢 -0.05%
memory_sync_10000_test/ (ns/op) 7.47 ms 7.74 ms 🔴 +3.59%
memory_sync_10000_test/ (B/op) 761.49 KB 749.88 KB 🟢 -1.52%
memory_sync_10000_test/ (allocs/op) 20,475 allocs 20,388 allocs 🟢 -0.42%
BenchmarkTextEditing
Benchmark suite Previous Current Change
(ns/op) 5.18 s 5.25 s 🔴 +1.35%
(B/op) 3.92 GB 3.92 GB ⚪ 0%
(allocs/op) 20,619,777 allocs 20,619,881 allocs ⚪ 0%
BenchmarkTree
Benchmark suite Previous Current Change
10000_vertices_to_protobuf/ (ns/op) 4.17 ms 4.35 ms 🔴 +4.17%
10000_vertices_to_protobuf/ (B/op) 6.36 MB 6.36 MB ⚪ 0%
10000_vertices_to_protobuf/ (allocs/op) 70,025 allocs 70,025 allocs ⚪ 0%
10000_vertices_from_protobuf/ (ns/op) 217.30 ms 222.74 ms 🔴 +2.50%
10000_vertices_from_protobuf/ (B/op) 442.30 MB 442.30 MB ⚪ 0%
10000_vertices_from_protobuf/ (allocs/op) 290,038 allocs 290,039 allocs ⚪ 0%
20000_vertices_to_protobuf/ (ns/op) 8.84 ms 9.15 ms 🔴 +3.56%
20000_vertices_to_protobuf/ (B/op) 12.89 MB 12.89 MB ⚪ 0%
20000_vertices_to_protobuf/ (allocs/op) 140,028 allocs 140,028 allocs ⚪ 0%
20000_vertices_from_protobuf/ (ns/op) 884.61 ms 873.50 ms 🟢 -1.26%
20000_vertices_from_protobuf/ (B/op) 1.70 GB 1.70 GB ⚪ 0%
20000_vertices_from_protobuf/ (allocs/op) 580,043 allocs 580,043 allocs ⚪ 0%
30000_vertices_to_protobuf/ (ns/op) 14.26 ms 13.72 ms 🟢 -3.80%
30000_vertices_to_protobuf/ (B/op) 18.98 MB 18.98 MB ⚪ 0%
30000_vertices_to_protobuf/ (allocs/op) 210,029 allocs 210,029 allocs ⚪ 0%
30000_vertices_from_protobuf/ (ns/op) 2.00 s 1.99 s 🟢 -0.66%
30000_vertices_from_protobuf/ (B/op) 3.75 GB 3.75 GB ⚪ 0%
30000_vertices_from_protobuf/ (allocs/op) 870,147 allocs 870,143 allocs ⚪ 0%
BenchmarkVersionVector
Benchmark suite Previous Current Change
clients_10/ (ns/op) 160.21 ms 160.71 ms 🔴 +0.31%
clients_10/ (1_changepack(bytes)) 745.00 B 745.00 B ⚪ 0%
clients_10/ (2_snapshot(bytes)) 379.00 B 379.00 B ⚪ 0%
clients_10/ (3_pushpull(ms)) 8.00 ms 7.00 ms 🟢 -12.50%
clients_10/ (4_attach(ms)) 6.00 ms 6.00 ms ⚪ 0%
clients_10/ (5_changepack_after_detach(bytes)) 805.00 B 805.00 B ⚪ 0%
clients_10/ (6_snapshot_after_detach(bytes)) 136.00 B 136.00 B ⚪ 0%
clients_10/ (7_pushpull_after_detach(ms)) 8.00 ms 8.00 ms ⚪ 0%
clients_10/ (B/op) 19.93 MB 20.65 MB 🔴 +3.62%
clients_10/ (allocs/op) 83,762 allocs 83,626 allocs 🟢 -0.16%
clients_100/ (ns/op) 1.41 s 1.40 s 🟢 -0.82%
clients_100/ (1_changepack(bytes)) 6.14 KB 6.14 KB ⚪ 0%
clients_100/ (2_snapshot(bytes)) 3.08 KB 3.08 KB ⚪ 0%
clients_100/ (3_pushpull(ms)) 11.00 ms 11.00 ms ⚪ 0%
clients_100/ (4_attach(ms)) 11.00 ms 6.00 ms 🟢 -45.45%
clients_100/ (5_changepack_after_detach(bytes)) 6.21 KB 6.21 KB ⚪ 0%
clients_100/ (6_snapshot_after_detach(bytes)) 137.00 B 137.00 B ⚪ 0%
clients_100/ (7_pushpull_after_detach(ms)) 9.00 ms 9.00 ms ⚪ 0%
clients_100/ (B/op) 230.31 MB 216.31 MB 🟢 -6.08%
clients_100/ (allocs/op) 1,539,768 allocs 1,358,646 allocs 🟢 -11.76%
clients_1000/ (ns/op) 60.97 s 35.99 s 🟢 -40.98%
clients_1000/ (1_changepack(bytes)) 60.16 KB 60.16 KB ⚪ 0%
clients_1000/ (2_snapshot(bytes)) 30.08 KB 30.08 KB ⚪ 0%
clients_1000/ (3_pushpull(ms)) 95.00 ms 93.00 ms 🟢 -2.11%
clients_1000/ (4_attach(ms)) 249.00 ms 10.00 ms 🟢 -95.98%
clients_1000/ (5_changepack_after_detach(bytes)) 60.22 KB 60.22 KB ⚪ 0%
clients_1000/ (6_snapshot_after_detach(bytes)) 139.00 B 139.00 B ⚪ 0%
clients_1000/ (7_pushpull_after_detach(ms)) 26.00 ms 21.00 ms 🟢 -19.23%
clients_1000/ (B/op) 22.07 GB 6.64 GB 🟢 -69.91%
clients_1000/ (allocs/op) 111,762,106 allocs 77,888,894 allocs 🟢 -30.31%

@chacha912 chacha912 closed this Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants