-
Notifications
You must be signed in to change notification settings - Fork 373
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improved readback data handling (#1734)
* user or re_renderer is no longer forced to consume all data in one go, instead we'll search if the data you request is available and return it then * this leaves the possibility for stale data, which might cause heavy memory leaks, so we clean stale stuff up automatically! (this can happen easily in a healthy application! Think closing a view for which you request picking data) * identifiers are user-chosen and not required to be unique (space view id is a good & valid identifier!) * readback data can cary arbitrary user data * the readback belt itself is a strictly internal datastructure now. Higher level systems like `ScreenshotProcessor` (new! shifting further towards a class-per-draw-pass; this is still an ongoing evolution!) or `PickingLayerProcessor` wrap your userdata and provide everything you need to know about for their readback data * this keeps the readback belt agnostic while presenting high level constructs where needed! * Do smaller readback chunks
- Loading branch information
Showing
20 changed files
with
719 additions
and
575 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
6dbc5b9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rust Benchmark
datastore/num_rows=1000/num_instances=1000/packed=false/insert/default
11028769
ns/iter (± 551494
)12379764
ns/iter (± 657716
)0.89
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=0
12796273
ns/iter (± 340092
)14032856
ns/iter (± 630549
)0.91
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=2
12343529
ns/iter (± 455692
)13325329
ns/iter (± 790890
)0.93
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=32
11657105
ns/iter (± 516711
)11151192
ns/iter (± 533348
)1.05
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=2048
11429470
ns/iter (± 600029
)10993438
ns/iter (± 433677
)1.04
datastore/num_rows=1000/num_instances=1000/packed=true/insert/default
10703912
ns/iter (± 554155
)10704961
ns/iter (± 520279
)1.00
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=0
13009003
ns/iter (± 646748
)13012367
ns/iter (± 724960
)1.00
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=2
12585551
ns/iter (± 579351
)12828264
ns/iter (± 783052
)0.98
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=32
11701801
ns/iter (± 457307
)11675537
ns/iter (± 843174
)1.00
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=2048
10998929
ns/iter (± 623164
)10819004
ns/iter (± 619410
)1.02
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/default
1839
ns/iter (± 20
)1841
ns/iter (± 17
)1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=0
1861
ns/iter (± 7
)1863
ns/iter (± 3
)1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=2
1851
ns/iter (± 12
)1861
ns/iter (± 2
)0.99
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=32
1838
ns/iter (± 9
)1851
ns/iter (± 1
)0.99
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=2048
1837
ns/iter (± 6
)1855
ns/iter (± 4
)0.99
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/default
1859
ns/iter (± 15
)1842
ns/iter (± 20
)1.01
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=0
1869
ns/iter (± 4
)1871
ns/iter (± 7
)1.00
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=2
1886
ns/iter (± 15
)1867
ns/iter (± 4
)1.01
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=32
1886
ns/iter (± 4
)1841
ns/iter (± 1
)1.02
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=2048
1858
ns/iter (± 8
)1849
ns/iter (± 0
)1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/default
283
ns/iter (± 1
)279
ns/iter (± 0
)1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/default
444
ns/iter (± 0
)434
ns/iter (± 0
)1.02
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=0
280
ns/iter (± 0
)280
ns/iter (± 0
)1
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=0
450
ns/iter (± 2
)442
ns/iter (± 0
)1.02
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=2
279
ns/iter (± 1
)280
ns/iter (± 0
)1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=2
450
ns/iter (± 1
)442
ns/iter (± 0
)1.02
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=32
282
ns/iter (± 1
)280
ns/iter (± 0
)1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=32
449
ns/iter (± 2
)445
ns/iter (± 0
)1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=2048
282
ns/iter (± 1
)280
ns/iter (± 0
)1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=2048
445
ns/iter (± 3
)436
ns/iter (± 0
)1.02
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/default
281
ns/iter (± 1
)282
ns/iter (± 0
)1.00
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/default
445
ns/iter (± 2
)433
ns/iter (± 0
)1.03
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=0
279
ns/iter (± 2
)283
ns/iter (± 0
)0.99
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=0
451
ns/iter (± 2
)442
ns/iter (± 0
)1.02
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=2
279
ns/iter (± 1
)283
ns/iter (± 0
)0.99
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=2
451
ns/iter (± 0
)442
ns/iter (± 0
)1.02
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=32
281
ns/iter (± 2
)283
ns/iter (± 0
)0.99
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=32
449
ns/iter (± 0
)440
ns/iter (± 0
)1.02
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=2048
281
ns/iter (± 1
)283
ns/iter (± 0
)0.99
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=2048
445
ns/iter (± 2
)435
ns/iter (± 0
)1.02
datastore/num_rows=1000/num_instances=1000/packed=false/range/default
11616219
ns/iter (± 525499
)13580447
ns/iter (± 1338003
)0.86
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=0
2182250
ns/iter (± 15632
)2229375
ns/iter (± 18821
)0.98
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=2
2123443
ns/iter (± 10887
)2135611
ns/iter (± 7671
)0.99
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=32
1926170
ns/iter (± 16799
)1887581
ns/iter (± 7398
)1.02
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=2048
1913440
ns/iter (± 16633
)1895081
ns/iter (± 16027
)1.01
datastore/num_rows=1000/num_instances=1000/packed=true/range/default
11679932
ns/iter (± 552706
)12127148
ns/iter (± 1145753
)0.96
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=0
2244443
ns/iter (± 21159
)2172117
ns/iter (± 16952
)1.03
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=2
2116964
ns/iter (± 13231
)2224646
ns/iter (± 24429
)0.95
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=32
1914764
ns/iter (± 7483
)1882330
ns/iter (± 18286
)1.02
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=2048
1839548
ns/iter (± 9454
)1862335
ns/iter (± 100433
)0.99
mono_points_arrow/generate_message_bundles
42136952
ns/iter (± 775063
)47556952
ns/iter (± 1744151
)0.89
mono_points_arrow/generate_messages
165243914
ns/iter (± 1366901
)184952998
ns/iter (± 2178062
)0.89
mono_points_arrow/encode_log_msg
207198428
ns/iter (± 1049427
)228848482
ns/iter (± 2771203
)0.91
mono_points_arrow/encode_total
415245120
ns/iter (± 2245045
)452197250
ns/iter (± 2349357
)0.92
mono_points_arrow/decode_log_msg
251133394
ns/iter (± 1214242
)268471765
ns/iter (± 1109366
)0.94
mono_points_arrow/decode_message_bundles
86943563
ns/iter (± 970973
)101372522
ns/iter (± 955933
)0.86
mono_points_arrow/decode_total
337217408
ns/iter (± 1798207
)364789697
ns/iter (± 2207278
)0.92
mono_points_arrow_batched/generate_message_bundles
34364939
ns/iter (± 1991528
)34499540
ns/iter (± 1754024
)1.00
mono_points_arrow_batched/generate_messages
8678464
ns/iter (± 675461
)10191808
ns/iter (± 809149
)0.85
mono_points_arrow_batched/encode_log_msg
1801512
ns/iter (± 11278
)1780969
ns/iter (± 10346
)1.01
mono_points_arrow_batched/encode_total
44958727
ns/iter (± 2053000
)48392635
ns/iter (± 2993308
)0.93
mono_points_arrow_batched/decode_log_msg
975034
ns/iter (± 3095
)982645
ns/iter (± 5663
)0.99
mono_points_arrow_batched/decode_message_bundles
18453968
ns/iter (± 1186524
)17529663
ns/iter (± 1978381
)1.05
mono_points_arrow_batched/decode_total
18791933
ns/iter (± 794176
)20790421
ns/iter (± 951830
)0.90
batch_points_arrow/generate_message_bundles
288571
ns/iter (± 1489
)288739
ns/iter (± 1095
)1.00
batch_points_arrow/generate_messages
7629
ns/iter (± 71
)7653
ns/iter (± 19
)1.00
batch_points_arrow/encode_log_msg
385642
ns/iter (± 1623
)390895
ns/iter (± 1963
)0.99
batch_points_arrow/encode_total
698230
ns/iter (± 3894
)694653
ns/iter (± 2013
)1.01
batch_points_arrow/decode_log_msg
339464
ns/iter (± 2042
)337199
ns/iter (± 1221
)1.01
batch_points_arrow/decode_message_bundles
2891
ns/iter (± 25
)2883
ns/iter (± 7
)1.00
batch_points_arrow/decode_total
349051
ns/iter (± 1112
)350415
ns/iter (± 1001
)1.00
arrow_mono_points/insert
6134033149
ns/iter (± 19368173
)7060741725
ns/iter (± 12411274
)0.87
arrow_mono_points/query
1778265
ns/iter (± 17037
)1798259
ns/iter (± 15633
)0.99
arrow_batch_points/insert
3028900
ns/iter (± 16317
)2994901
ns/iter (± 7327
)1.01
arrow_batch_points/query
16843
ns/iter (± 136
)16931
ns/iter (± 21
)0.99
arrow_batch_vecs/insert
43557
ns/iter (± 316
)43045
ns/iter (± 179
)1.01
arrow_batch_vecs/query
533713
ns/iter (± 7351
)535786
ns/iter (± 1691
)1.00
tuid/Tuid::random
34
ns/iter (± 0
)42
ns/iter (± 0
)0.81
This comment was automatically generated by workflow using github-action-benchmark.