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

Introduce VersionVector to detect the relationship between changes #800

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

hackerwins
Copy link
Member

What this PR does / why we need it:

This PR introduces VersionVector for Change.ID to differentiate between Concurrent and Causal relationships among changes.

Existing Functionality of Change.ID:

  • Allows for determining the Total Order of Changes.
  • Generates TimeTicket using a provided Delimiter.
    • Used as an ID for Elements.
    • Utilized for Conflict Resolution of Operations.
    • Only establishes order in Total Order, unable to distinguish between Concurrent and Causal relationships.

New Features of Change.ID:

  • Enables differentiation between Concurrent and Causal relationships among Changes.

We still use LamportClock in conjunction with VersionVector to reduce the size of CRDT metadata in Documents.

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
  • Didn't break anything

Copy link

codecov bot commented Mar 11, 2024

Codecov Report

Attention: Patch coverage is 33.87097% with 164 lines in your changes are missing coverage. Please review.

Project coverage is 50.68%. Comparing base (eadb194) to head (cbd8918).
Report is 12 commits behind head on main.

Files Patch % Lines
pkg/document/time/vection_vector.go 0.00% 41 Missing ⚠️
pkg/document/change/id.go 13.51% 32 Missing ⚠️
server/backend/database/mongo/registry.go 40.00% 16 Missing and 8 partials ⚠️
api/converter/from_pb.go 48.27% 11 Missing and 4 partials ⚠️
api/converter/to_pb.go 66.66% 6 Missing and 3 partials ⚠️
server/backend/database/memory/database.go 65.38% 9 Missing ⚠️
server/backend/database/mongo/client.go 47.05% 9 Missing ⚠️
server/backend/database/snapshot_info.go 0.00% 8 Missing ⚠️
pkg/document/internal_document.go 30.00% 7 Missing ⚠️
server/rpc/admin_server.go 0.00% 7 Missing ⚠️
... and 2 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #800      +/-   ##
==========================================
- Coverage   50.71%   50.68%   -0.04%     
==========================================
  Files          70       71       +1     
  Lines       10213    10426     +213     
==========================================
+ Hits         5180     5284     +104     
- Misses       4512     4589      +77     
- Partials      521      553      +32     

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

Copy link

@github-actions github-actions bot 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

Benchmark suite Current: cbd8918 Previous: 43b6623 Ratio
BenchmarkDocument/constructor_test 1400 ns/op 1224 B/op 21 allocs/op 1392 ns/op 1224 B/op 21 allocs/op 1.01
BenchmarkDocument/constructor_test - ns/op 1400 ns/op 1392 ns/op 1.01
BenchmarkDocument/constructor_test - B/op 1224 B/op 1224 B/op 1
BenchmarkDocument/constructor_test - allocs/op 21 allocs/op 21 allocs/op 1
BenchmarkDocument/status_test 924.6 ns/op 1192 B/op 19 allocs/op 865.4 ns/op 1192 B/op 19 allocs/op 1.07
BenchmarkDocument/status_test - ns/op 924.6 ns/op 865.4 ns/op 1.07
BenchmarkDocument/status_test - B/op 1192 B/op 1192 B/op 1
BenchmarkDocument/status_test - allocs/op 19 allocs/op 19 allocs/op 1
BenchmarkDocument/equals_test 7659 ns/op 7233 B/op 126 allocs/op 7910 ns/op 7281 B/op 128 allocs/op 0.97
BenchmarkDocument/equals_test - ns/op 7659 ns/op 7910 ns/op 0.97
BenchmarkDocument/equals_test - B/op 7233 B/op 7281 B/op 0.99
BenchmarkDocument/equals_test - allocs/op 126 allocs/op 128 allocs/op 0.98
BenchmarkDocument/nested_update_test 17001 ns/op 12315 B/op 262 allocs/op 17083 ns/op 12363 B/op 264 allocs/op 1.00
BenchmarkDocument/nested_update_test - ns/op 17001 ns/op 17083 ns/op 1.00
BenchmarkDocument/nested_update_test - B/op 12315 B/op 12363 B/op 1.00
BenchmarkDocument/nested_update_test - allocs/op 262 allocs/op 264 allocs/op 0.99
BenchmarkDocument/delete_test 23183 ns/op 15844 B/op 345 allocs/op 23542 ns/op 15939 B/op 349 allocs/op 0.98
BenchmarkDocument/delete_test - ns/op 23183 ns/op 23542 ns/op 0.98
BenchmarkDocument/delete_test - B/op 15844 B/op 15939 B/op 0.99
BenchmarkDocument/delete_test - allocs/op 345 allocs/op 349 allocs/op 0.99
BenchmarkDocument/object_test 8700 ns/op 7009 B/op 120 allocs/op 10362 ns/op 7057 B/op 122 allocs/op 0.84
BenchmarkDocument/object_test - ns/op 8700 ns/op 10362 ns/op 0.84
BenchmarkDocument/object_test - B/op 7009 B/op 7057 B/op 0.99
BenchmarkDocument/object_test - allocs/op 120 allocs/op 122 allocs/op 0.98
BenchmarkDocument/array_test 29217 ns/op 12139 B/op 276 allocs/op 29313 ns/op 12187 B/op 278 allocs/op 1.00
BenchmarkDocument/array_test - ns/op 29217 ns/op 29313 ns/op 1.00
BenchmarkDocument/array_test - B/op 12139 B/op 12187 B/op 1.00
BenchmarkDocument/array_test - allocs/op 276 allocs/op 278 allocs/op 0.99
BenchmarkDocument/text_test 31448 ns/op 15460 B/op 476 allocs/op 31800 ns/op 15556 B/op 480 allocs/op 0.99
BenchmarkDocument/text_test - ns/op 31448 ns/op 31800 ns/op 0.99
BenchmarkDocument/text_test - B/op 15460 B/op 15556 B/op 0.99
BenchmarkDocument/text_test - allocs/op 476 allocs/op 480 allocs/op 0.99
BenchmarkDocument/text_composition_test 29473 ns/op 18684 B/op 481 allocs/op 29796 ns/op 18734 B/op 483 allocs/op 0.99
BenchmarkDocument/text_composition_test - ns/op 29473 ns/op 29796 ns/op 0.99
BenchmarkDocument/text_composition_test - B/op 18684 B/op 18734 B/op 1.00
BenchmarkDocument/text_composition_test - allocs/op 481 allocs/op 483 allocs/op 1.00
BenchmarkDocument/rich_text_test 83590 ns/op 40149 B/op 1167 allocs/op 83598 ns/op 40390 B/op 1177 allocs/op 1.00
BenchmarkDocument/rich_text_test - ns/op 83590 ns/op 83598 ns/op 1.00
BenchmarkDocument/rich_text_test - B/op 40149 B/op 40390 B/op 0.99
BenchmarkDocument/rich_text_test - allocs/op 1167 allocs/op 1177 allocs/op 0.99
BenchmarkDocument/counter_test 18640 ns/op 11810 B/op 256 allocs/op 19277 ns/op 12003 B/op 264 allocs/op 0.97
BenchmarkDocument/counter_test - ns/op 18640 ns/op 19277 ns/op 0.97
BenchmarkDocument/counter_test - B/op 11810 B/op 12003 B/op 0.98
BenchmarkDocument/counter_test - allocs/op 256 allocs/op 264 allocs/op 0.97
BenchmarkDocument/text_edit_gc_100 2912871 ns/op 1659240 B/op 17100 allocs/op 2933428 ns/op 1659646 B/op 17106 allocs/op 0.99
BenchmarkDocument/text_edit_gc_100 - ns/op 2912871 ns/op 2933428 ns/op 0.99
BenchmarkDocument/text_edit_gc_100 - B/op 1659240 B/op 1659646 B/op 1.00
BenchmarkDocument/text_edit_gc_100 - allocs/op 17100 allocs/op 17106 allocs/op 1.00
BenchmarkDocument/text_edit_gc_1000 234265871 ns/op 144377350 B/op 200913 allocs/op 235527739 ns/op 144396288 B/op 200991 allocs/op 0.99
BenchmarkDocument/text_edit_gc_1000 - ns/op 234265871 ns/op 235527739 ns/op 0.99
BenchmarkDocument/text_edit_gc_1000 - B/op 144377350 B/op 144396288 B/op 1.00
BenchmarkDocument/text_edit_gc_1000 - allocs/op 200913 allocs/op 200991 allocs/op 1.00
BenchmarkDocument/text_split_gc_100 3406311 ns/op 2317431 B/op 16202 allocs/op 3441443 ns/op 2317427 B/op 16205 allocs/op 0.99
BenchmarkDocument/text_split_gc_100 - ns/op 3406311 ns/op 3441443 ns/op 0.99
BenchmarkDocument/text_split_gc_100 - B/op 2317431 B/op 2317427 B/op 1.00
BenchmarkDocument/text_split_gc_100 - allocs/op 16202 allocs/op 16205 allocs/op 1.00
BenchmarkDocument/text_split_gc_1000 295153356 ns/op 228948348 B/op 204072 allocs/op 296210414 ns/op 228942660 B/op 204073 allocs/op 1.00
BenchmarkDocument/text_split_gc_1000 - ns/op 295153356 ns/op 296210414 ns/op 1.00
BenchmarkDocument/text_split_gc_1000 - B/op 228948348 B/op 228942660 B/op 1.00
BenchmarkDocument/text_split_gc_1000 - allocs/op 204072 allocs/op 204073 allocs/op 1.00
BenchmarkDocument/text_delete_all_10000 11835339 ns/op 5811445 B/op 40682 allocs/op 11902908 ns/op 5811816 B/op 40684 allocs/op 0.99
BenchmarkDocument/text_delete_all_10000 - ns/op 11835339 ns/op 11902908 ns/op 0.99
BenchmarkDocument/text_delete_all_10000 - B/op 5811445 B/op 5811816 B/op 1.00
BenchmarkDocument/text_delete_all_10000 - allocs/op 40682 allocs/op 40684 allocs/op 1.00
BenchmarkDocument/text_delete_all_100000 192756303 ns/op 81901077 B/op 411605 allocs/op 200859945 ns/op 81908450 B/op 411674 allocs/op 0.96
BenchmarkDocument/text_delete_all_100000 - ns/op 192756303 ns/op 200859945 ns/op 0.96
BenchmarkDocument/text_delete_all_100000 - B/op 81901077 B/op 81908450 B/op 1.00
BenchmarkDocument/text_delete_all_100000 - allocs/op 411605 allocs/op 411674 allocs/op 1.00
BenchmarkDocument/text_100 229409 ns/op 120395 B/op 5084 allocs/op 221619 ns/op 120443 B/op 5086 allocs/op 1.04
BenchmarkDocument/text_100 - ns/op 229409 ns/op 221619 ns/op 1.04
BenchmarkDocument/text_100 - B/op 120395 B/op 120443 B/op 1.00
BenchmarkDocument/text_100 - allocs/op 5084 allocs/op 5086 allocs/op 1.00
BenchmarkDocument/text_1000 2437313 ns/op 1169383 B/op 50088 allocs/op 2417945 ns/op 1169428 B/op 50090 allocs/op 1.01
BenchmarkDocument/text_1000 - ns/op 2437313 ns/op 2417945 ns/op 1.01
BenchmarkDocument/text_1000 - B/op 1169383 B/op 1169428 B/op 1.00
BenchmarkDocument/text_1000 - allocs/op 50088 allocs/op 50090 allocs/op 1.00
BenchmarkDocument/array_1000 1271014 ns/op 1091625 B/op 11832 allocs/op 1206334 ns/op 1091685 B/op 11834 allocs/op 1.05
BenchmarkDocument/array_1000 - ns/op 1271014 ns/op 1206334 ns/op 1.05
BenchmarkDocument/array_1000 - B/op 1091625 B/op 1091685 B/op 1.00
BenchmarkDocument/array_1000 - allocs/op 11832 allocs/op 11834 allocs/op 1.00
BenchmarkDocument/array_10000 13635084 ns/op 9798964 B/op 120292 allocs/op 13548046 ns/op 9800503 B/op 120300 allocs/op 1.01
BenchmarkDocument/array_10000 - ns/op 13635084 ns/op 13548046 ns/op 1.01
BenchmarkDocument/array_10000 - B/op 9798964 B/op 9800503 B/op 1.00
BenchmarkDocument/array_10000 - allocs/op 120292 allocs/op 120300 allocs/op 1.00
BenchmarkDocument/array_gc_100 155798 ns/op 133222 B/op 1265 allocs/op 147135 ns/op 133300 B/op 1268 allocs/op 1.06
BenchmarkDocument/array_gc_100 - ns/op 155798 ns/op 147135 ns/op 1.06
BenchmarkDocument/array_gc_100 - B/op 133222 B/op 133300 B/op 1.00
BenchmarkDocument/array_gc_100 - allocs/op 1265 allocs/op 1268 allocs/op 1.00
BenchmarkDocument/array_gc_1000 1442836 ns/op 1159716 B/op 12881 allocs/op 1389068 ns/op 1159738 B/op 12884 allocs/op 1.04
BenchmarkDocument/array_gc_1000 - ns/op 1442836 ns/op 1389068 ns/op 1.04
BenchmarkDocument/array_gc_1000 - B/op 1159716 B/op 1159738 B/op 1.00
BenchmarkDocument/array_gc_1000 - allocs/op 12881 allocs/op 12884 allocs/op 1.00
BenchmarkDocument/counter_1000 218530 ns/op 193268 B/op 5771 allocs/op 201915 ns/op 193317 B/op 5773 allocs/op 1.08
BenchmarkDocument/counter_1000 - ns/op 218530 ns/op 201915 ns/op 1.08
BenchmarkDocument/counter_1000 - B/op 193268 B/op 193317 B/op 1.00
BenchmarkDocument/counter_1000 - allocs/op 5771 allocs/op 5773 allocs/op 1.00
BenchmarkDocument/counter_10000 2291912 ns/op 2088186 B/op 59778 allocs/op 2181747 ns/op 2088232 B/op 59780 allocs/op 1.05
BenchmarkDocument/counter_10000 - ns/op 2291912 ns/op 2181747 ns/op 1.05
BenchmarkDocument/counter_10000 - B/op 2088186 B/op 2088232 B/op 1.00
BenchmarkDocument/counter_10000 - allocs/op 59778 allocs/op 59780 allocs/op 1.00
BenchmarkDocument/object_1000 1438532 ns/op 1428418 B/op 9849 allocs/op 1359005 ns/op 1428491 B/op 9851 allocs/op 1.06
BenchmarkDocument/object_1000 - ns/op 1438532 ns/op 1359005 ns/op 1.06
BenchmarkDocument/object_1000 - B/op 1428418 B/op 1428491 B/op 1.00
BenchmarkDocument/object_1000 - allocs/op 9849 allocs/op 9851 allocs/op 1.00
BenchmarkDocument/object_10000 15765086 ns/op 12166933 B/op 100564 allocs/op 14993942 ns/op 12167167 B/op 100565 allocs/op 1.05
BenchmarkDocument/object_10000 - ns/op 15765086 ns/op 14993942 ns/op 1.05
BenchmarkDocument/object_10000 - B/op 12166933 B/op 12167167 B/op 1.00
BenchmarkDocument/object_10000 - allocs/op 100564 allocs/op 100565 allocs/op 1.00
BenchmarkDocument/tree_100 1069091 ns/op 944037 B/op 6104 allocs/op 1033709 ns/op 944083 B/op 6106 allocs/op 1.03
BenchmarkDocument/tree_100 - ns/op 1069091 ns/op 1033709 ns/op 1.03
BenchmarkDocument/tree_100 - B/op 944037 B/op 944083 B/op 1.00
BenchmarkDocument/tree_100 - allocs/op 6104 allocs/op 6106 allocs/op 1.00
BenchmarkDocument/tree_1000 78191073 ns/op 86460763 B/op 60117 allocs/op 74912030 ns/op 86460416 B/op 60122 allocs/op 1.04
BenchmarkDocument/tree_1000 - ns/op 78191073 ns/op 74912030 ns/op 1.04
BenchmarkDocument/tree_1000 - B/op 86460763 B/op 86460416 B/op 1.00
BenchmarkDocument/tree_1000 - allocs/op 60117 allocs/op 60122 allocs/op 1.00
BenchmarkDocument/tree_10000 9788324513 ns/op 8580992240 B/op 600241 allocs/op 9260706771 ns/op 8580988352 B/op 600224 allocs/op 1.06
BenchmarkDocument/tree_10000 - ns/op 9788324513 ns/op 9260706771 ns/op 1.06
BenchmarkDocument/tree_10000 - B/op 8580992240 B/op 8580988352 B/op 1.00
BenchmarkDocument/tree_10000 - allocs/op 600241 allocs/op 600224 allocs/op 1.00
BenchmarkDocument/tree_delete_all_1000 79624966 ns/op 86990735 B/op 67759 allocs/op 73578691 ns/op 86991328 B/op 67763 allocs/op 1.08
BenchmarkDocument/tree_delete_all_1000 - ns/op 79624966 ns/op 73578691 ns/op 1.08
BenchmarkDocument/tree_delete_all_1000 - B/op 86990735 B/op 86991328 B/op 1.00
BenchmarkDocument/tree_delete_all_1000 - allocs/op 67759 allocs/op 67763 allocs/op 1.00
BenchmarkDocument/tree_edit_gc_100 4025667 ns/op 4121690 B/op 14365 allocs/op 3647491 ns/op 4121740 B/op 14369 allocs/op 1.10
BenchmarkDocument/tree_edit_gc_100 - ns/op 4025667 ns/op 3647491 ns/op 1.10
BenchmarkDocument/tree_edit_gc_100 - B/op 4121690 B/op 4121740 B/op 1.00
BenchmarkDocument/tree_edit_gc_100 - allocs/op 14365 allocs/op 14369 allocs/op 1.00
BenchmarkDocument/tree_edit_gc_1000 319602104 ns/op 383467134 B/op 145439 allocs/op 294282263 ns/op 383469042 B/op 145422 allocs/op 1.09
BenchmarkDocument/tree_edit_gc_1000 - ns/op 319602104 ns/op 294282263 ns/op 1.09
BenchmarkDocument/tree_edit_gc_1000 - B/op 383467134 B/op 383469042 B/op 1.00
BenchmarkDocument/tree_edit_gc_1000 - allocs/op 145439 allocs/op 145422 allocs/op 1.00
BenchmarkDocument/tree_split_gc_100 2625435 ns/op 2387514 B/op 10350 allocs/op 2495524 ns/op 2387638 B/op 10354 allocs/op 1.05
BenchmarkDocument/tree_split_gc_100 - ns/op 2625435 ns/op 2495524 ns/op 1.05
BenchmarkDocument/tree_split_gc_100 - B/op 2387514 B/op 2387638 B/op 1.00
BenchmarkDocument/tree_split_gc_100 - allocs/op 10350 allocs/op 10354 allocs/op 1.00
BenchmarkDocument/tree_split_gc_1000 193424652 ns/op 221992714 B/op 112273 allocs/op 179372319 ns/op 221991732 B/op 112266 allocs/op 1.08
BenchmarkDocument/tree_split_gc_1000 - ns/op 193424652 ns/op 179372319 ns/op 1.08
BenchmarkDocument/tree_split_gc_1000 - B/op 221992714 B/op 221991732 B/op 1.00
BenchmarkDocument/tree_split_gc_1000 - allocs/op 112273 allocs/op 112266 allocs/op 1.00
BenchmarkRPC/client_to_server 379984495 ns/op 17482016 B/op 190276 allocs/op 382638248 ns/op 17498216 B/op 190475 allocs/op 0.99
BenchmarkRPC/client_to_server - ns/op 379984495 ns/op 382638248 ns/op 0.99
BenchmarkRPC/client_to_server - B/op 17482016 B/op 17498216 B/op 1.00
BenchmarkRPC/client_to_server - allocs/op 190276 allocs/op 190475 allocs/op 1.00
BenchmarkRPC/client_to_client_via_server 646797726 ns/op 34118364 B/op 366911 allocs/op 644416228 ns/op 34099936 B/op 366626 allocs/op 1.00
BenchmarkRPC/client_to_client_via_server - ns/op 646797726 ns/op 644416228 ns/op 1.00
BenchmarkRPC/client_to_client_via_server - B/op 34118364 B/op 34099936 B/op 1.00
BenchmarkRPC/client_to_client_via_server - allocs/op 366911 allocs/op 366626 allocs/op 1.00
BenchmarkRPC/attach_large_document 1392267856 ns/op 1919890048 B/op 9191 allocs/op 1488826792 ns/op 1895457632 B/op 9171 allocs/op 0.94
BenchmarkRPC/attach_large_document - ns/op 1392267856 ns/op 1488826792 ns/op 0.94
BenchmarkRPC/attach_large_document - B/op 1919890048 B/op 1895457632 B/op 1.01
BenchmarkRPC/attach_large_document - allocs/op 9191 allocs/op 9171 allocs/op 1.00
BenchmarkRPC/adminCli_to_server 539774706 ns/op 36360616 B/op 289533 allocs/op 549359196 ns/op 35953028 B/op 289521 allocs/op 0.98
BenchmarkRPC/adminCli_to_server - ns/op 539774706 ns/op 549359196 ns/op 0.98
BenchmarkRPC/adminCli_to_server - B/op 36360616 B/op 35953028 B/op 1.01
BenchmarkRPC/adminCli_to_server - allocs/op 289533 allocs/op 289521 allocs/op 1.00
BenchmarkLocker 64.81 ns/op 16 B/op 1 allocs/op 63.94 ns/op 16 B/op 1 allocs/op 1.01
BenchmarkLocker - ns/op 64.81 ns/op 63.94 ns/op 1.01
BenchmarkLocker - B/op 16 B/op 16 B/op 1
BenchmarkLocker - allocs/op 1 allocs/op 1 allocs/op 1
BenchmarkLockerParallel 38.8 ns/op 0 B/op 0 allocs/op 40.08 ns/op 0 B/op 0 allocs/op 0.97
BenchmarkLockerParallel - ns/op 38.8 ns/op 40.08 ns/op 0.97
BenchmarkLockerParallel - B/op 0 B/op 0 B/op 1
BenchmarkLockerParallel - allocs/op 0 allocs/op 0 allocs/op 1
BenchmarkLockerMoreKeys 146.7 ns/op 15 B/op 0 allocs/op 153.1 ns/op 15 B/op 0 allocs/op 0.96
BenchmarkLockerMoreKeys - ns/op 146.7 ns/op 153.1 ns/op 0.96
BenchmarkLockerMoreKeys - B/op 15 B/op 15 B/op 1
BenchmarkLockerMoreKeys - allocs/op 0 allocs/op 0 allocs/op 1
BenchmarkChange/Push_10_Changes 3935215 ns/op 135003 B/op 1441 allocs/op 3979684 ns/op 134750 B/op 1441 allocs/op 0.99
BenchmarkChange/Push_10_Changes - ns/op 3935215 ns/op 3979684 ns/op 0.99
BenchmarkChange/Push_10_Changes - B/op 135003 B/op 134750 B/op 1.00
BenchmarkChange/Push_10_Changes - allocs/op 1441 allocs/op 1441 allocs/op 1
BenchmarkChange/Push_100_Changes 15057525 ns/op 689250 B/op 8057 allocs/op 15214133 ns/op 688614 B/op 8057 allocs/op 0.99
BenchmarkChange/Push_100_Changes - ns/op 15057525 ns/op 15214133 ns/op 0.99
BenchmarkChange/Push_100_Changes - B/op 689250 B/op 688614 B/op 1.00
BenchmarkChange/Push_100_Changes - allocs/op 8057 allocs/op 8057 allocs/op 1
BenchmarkChange/Push_1000_Changes 121171911 ns/op 6818188 B/op 77029 allocs/op 123169894 ns/op 6722450 B/op 77031 allocs/op 0.98
BenchmarkChange/Push_1000_Changes - ns/op 121171911 ns/op 123169894 ns/op 0.98
BenchmarkChange/Push_1000_Changes - B/op 6818188 B/op 6722450 B/op 1.01
BenchmarkChange/Push_1000_Changes - allocs/op 77029 allocs/op 77031 allocs/op 1.00
BenchmarkChange/Pull_10_Changes 3014008 ns/op 109770 B/op 1153 allocs/op 2998889 ns/op 109268 B/op 1153 allocs/op 1.01
BenchmarkChange/Pull_10_Changes - ns/op 3014008 ns/op 2998889 ns/op 1.01
BenchmarkChange/Pull_10_Changes - B/op 109770 B/op 109268 B/op 1.00
BenchmarkChange/Pull_10_Changes - allocs/op 1153 allocs/op 1153 allocs/op 1
BenchmarkChange/Pull_100_Changes 4613145 ns/op 343347 B/op 4700 allocs/op 4618161 ns/op 342416 B/op 4700 allocs/op 1.00
BenchmarkChange/Pull_100_Changes - ns/op 4613145 ns/op 4618161 ns/op 1.00
BenchmarkChange/Pull_100_Changes - B/op 343347 B/op 342416 B/op 1.00
BenchmarkChange/Pull_100_Changes - allocs/op 4700 allocs/op 4700 allocs/op 1
BenchmarkChange/Pull_1000_Changes 10126255 ns/op 2210546 B/op 42417 allocs/op 10214497 ns/op 2226489 B/op 42490 allocs/op 0.99
BenchmarkChange/Pull_1000_Changes - ns/op 10126255 ns/op 10214497 ns/op 0.99
BenchmarkChange/Pull_1000_Changes - B/op 2210546 B/op 2226489 B/op 0.99
BenchmarkChange/Pull_1000_Changes - allocs/op 42417 allocs/op 42490 allocs/op 1.00
BenchmarkSnapshot/Push_3KB_snapshot 17185580 ns/op 817614 B/op 8060 allocs/op 17794268 ns/op 826954 B/op 8058 allocs/op 0.97
BenchmarkSnapshot/Push_3KB_snapshot - ns/op 17185580 ns/op 17794268 ns/op 0.97
BenchmarkSnapshot/Push_3KB_snapshot - B/op 817614 B/op 826954 B/op 0.99
BenchmarkSnapshot/Push_3KB_snapshot - allocs/op 8060 allocs/op 8058 allocs/op 1.00
BenchmarkSnapshot/Push_30KB_snapshot 124822935 ns/op 6959277 B/op 77152 allocs/op 126699354 ns/op 7078370 B/op 77558 allocs/op 0.99
BenchmarkSnapshot/Push_30KB_snapshot - ns/op 124822935 ns/op 126699354 ns/op 0.99
BenchmarkSnapshot/Push_30KB_snapshot - B/op 6959277 B/op 7078370 B/op 0.98
BenchmarkSnapshot/Push_30KB_snapshot - allocs/op 77152 allocs/op 77558 allocs/op 0.99
BenchmarkSnapshot/Pull_3KB_snapshot 6540953 ns/op 1068164 B/op 17958 allocs/op 6767763 ns/op 1078054 B/op 17955 allocs/op 0.97
BenchmarkSnapshot/Pull_3KB_snapshot - ns/op 6540953 ns/op 6767763 ns/op 0.97
BenchmarkSnapshot/Pull_3KB_snapshot - B/op 1068164 B/op 1078054 B/op 0.99
BenchmarkSnapshot/Pull_3KB_snapshot - allocs/op 17958 allocs/op 17955 allocs/op 1.00
BenchmarkSnapshot/Pull_30KB_snapshot 16493920 ns/op 8652542 B/op 175403 allocs/op 16829012 ns/op 8663860 B/op 175408 allocs/op 0.98
BenchmarkSnapshot/Pull_30KB_snapshot - ns/op 16493920 ns/op 16829012 ns/op 0.98
BenchmarkSnapshot/Pull_30KB_snapshot - B/op 8652542 B/op 8663860 B/op 1.00
BenchmarkSnapshot/Pull_30KB_snapshot - allocs/op 175403 allocs/op 175408 allocs/op 1.00
BenchmarkSync/memory_sync_10_test 6859 ns/op 1286 B/op 38 allocs/op 6839 ns/op 1286 B/op 38 allocs/op 1.00
BenchmarkSync/memory_sync_10_test - ns/op 6859 ns/op 6839 ns/op 1.00
BenchmarkSync/memory_sync_10_test - B/op 1286 B/op 1286 B/op 1
BenchmarkSync/memory_sync_10_test - allocs/op 38 allocs/op 38 allocs/op 1
BenchmarkSync/memory_sync_100_test 50350 ns/op 8651 B/op 274 allocs/op 51424 ns/op 8648 B/op 273 allocs/op 0.98
BenchmarkSync/memory_sync_100_test - ns/op 50350 ns/op 51424 ns/op 0.98
BenchmarkSync/memory_sync_100_test - B/op 8651 B/op 8648 B/op 1.00
BenchmarkSync/memory_sync_100_test - allocs/op 274 allocs/op 273 allocs/op 1.00
BenchmarkSync/memory_sync_1000_test 577626 ns/op 74277 B/op 2116 allocs/op 575932 ns/op 74439 B/op 2125 allocs/op 1.00
BenchmarkSync/memory_sync_1000_test - ns/op 577626 ns/op 575932 ns/op 1.00
BenchmarkSync/memory_sync_1000_test - B/op 74277 B/op 74439 B/op 1.00
BenchmarkSync/memory_sync_1000_test - allocs/op 2116 allocs/op 2125 allocs/op 1.00
BenchmarkSync/memory_sync_10000_test 7025401 ns/op 735680 B/op 20208 allocs/op 6982890 ns/op 742959 B/op 20340 allocs/op 1.01
BenchmarkSync/memory_sync_10000_test - ns/op 7025401 ns/op 6982890 ns/op 1.01
BenchmarkSync/memory_sync_10000_test - B/op 735680 B/op 742959 B/op 0.99
BenchmarkSync/memory_sync_10000_test - allocs/op 20208 allocs/op 20340 allocs/op 0.99
BenchmarkTextEditing 19066815915 ns/op 9121169560 B/op 20963353 allocs/op 18220112763 ns/op 9133869200 B/op 21480997 allocs/op 1.05
BenchmarkTextEditing - ns/op 19066815915 ns/op 18220112763 ns/op 1.05
BenchmarkTextEditing - B/op 9121169560 B/op 9133869200 B/op 1.00
BenchmarkTextEditing - allocs/op 20963353 allocs/op 21480997 allocs/op 0.98

This comment was automatically generated by workflow using github-action-benchmark.

hackerwins added a commit that referenced this pull request May 8, 2024
We will use maxCreatedAtMapByActor until the introduction of
VersionVector. #800
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.

None yet

1 participant