Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save josephg/aaa2781c2f88de3da3bafb0814215016 to your computer and use it in GitHub Desktop.
Save josephg/aaa2781c2f88de3da3bafb0814215016 to your computer and use it in GitHub Desktop.
massif out C1_fast
--------------------------------------------------------------------------------
Command: target/profiling/am-repro
Massif arguments: (none)
ms_print arguments: massif.out.3715
--------------------------------------------------------------------------------
MB
45.81^ #
| @@#:
| @@@@#:
| @@@@@#:
| @:@:@@@@@#:
| @@@@:@:@:@@@@@#:
| ::@::@ @@:@:@:@@@@@#:
| @:: @: @ @@:@:@:@@@@@#:
| @@@ : @: @ @@:@:@:@@@@@#::
| @@ @ : @: @ @@:@:@:@@@@@#::
| @:@@:@@ @ : @: @ @@:@:@:@@@@@#::
| @::@:@ :@@ @ : @: @ @@:@:@:@@@@@#::
| @:@@: @:@ :@@ @ : @: @ @@:@:@:@@@@@#::
| ::@:@@: @:@ :@@ @ : @: @ @@:@:@:@@@@@#::
| :::::@::::::@@: @:@@: @:@ :@@ @ : @: @ @@:@:@:@@@@@#::
| :::@::::: ::@:: :::@ : @:@@: @:@ :@@ @ : @: @ @@:@:@:@@@@@#::
| ::::: @ :::: ::@:: :::@ : @:@@: @:@ :@@ @ : @: @ @@:@:@:@@@@@#::
| ::::::: @ :::: ::@:: :::@ : @:@@: @:@ :@@ @ : @: @ @@:@:@:@@@@@#::
| ::: ::::: @ :::: ::@:: :::@ : @:@@: @:@ :@@ @ : @: @ @@:@:@:@@@@@#::
| :: : ::::: @ :::: ::@:: :::@ : @:@@: @:@ :@@ @ : @: @ @@:@:@:@@@@@#::
0 +----------------------------------------------------------------------->Mi
0 941.2
Number of snapshots: 79
Detailed snapshots: [11, 19, 26, 29, 30, 32, 33, 35, 37, 39, 40, 41, 44, 47, 48, 51, 54, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 74 (peak)]
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 21,349,479 2,169,520 2,109,441 60,079 0
2 44,773,847 3,948,824 3,874,365 74,459 0
3 59,467,213 5,573,296 5,490,337 82,959 0
4 82,304,501 6,909,928 6,814,833 95,095 0
5 93,637,731 7,258,616 7,157,641 100,975 0
6 111,932,234 10,223,688 10,109,685 114,003 0
7 127,614,329 11,149,024 11,029,081 119,943 0
8 144,737,358 11,664,184 11,535,401 128,783 0
9 154,679,500 12,083,928 11,951,849 132,079 0
10 169,615,282 12,592,296 12,452,473 139,823 0
11 192,557,010 12,652,000 12,516,185 135,815 0
98.93% (12,516,185B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->48.10% (6,085,784B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->35.22% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->35.22% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->35.22% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->35.22% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->35.22% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->35.22% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->35.22% (4,456,448B) 0x17CBC8: {closure
| | | | ->35.22% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->35.22% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->35.22% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->35.22% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->35.22% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.72% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->04.72% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->04.72% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->04.72% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->04.72% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->04.72% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->04.61% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.96% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->02.96% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.96% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.96% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.96% (374,784B) 0x17CBC8: {closure
| | | | ->02.96% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.96% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.96% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.96% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.96% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.65% (208,896B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.65% (208,896B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.65% (208,896B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.65% (208,896B) 0x17CBC8: {closure
| | | ->01.65% (208,896B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.65% (208,896B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.65% (208,896B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.65% (208,896B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.65% (208,896B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.11% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.99% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->02.81% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | | ->02.81% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | | ->02.81% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | | ->02.81% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | | ->02.81% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->02.75% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.84% (232,920B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.84% (232,920B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.84% (232,920B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.84% (232,920B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.84% (232,920B) 0x17CBC8: {closure
| | | | | | ->01.84% (232,920B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.84% (232,920B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.84% (232,920B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.84% (232,920B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.84% (232,920B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.91% (115,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.06% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.18% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.94% (245,760B) 0x16C297: grow_amortized<automerge::storage::change::Change<automerge::storage::change::Verified>, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.94% (245,760B) 0x16C297: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.94% (245,760B) 0x130E23: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:1922)
| | ->01.94% (245,760B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->01.94% (245,760B) 0x17CBC8: {closure
| | ->01.94% (245,760B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->01.94% (245,760B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->01.94% (245,760B) 0x1218EC: am_repro::main (main.rs:12)
| | ->01.94% (245,760B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->01.94% (245,760B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->01.29% (163,840B) 0x14A53D: grow_amortized<automerge::op_set::op::OpDepRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.29% (163,840B) 0x14A53D: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.29% (163,840B) 0x14A03F: push<automerge::op_set::op::OpDepRaw, alloc::alloc::Global> (mod.rs:1922)
| | ->01.29% (163,840B) 0x14A03F: automerge::op_set::OpSetData::add_dep (op_set.rs:770)
| | ->01.29% (163,840B) 0x12BCF2: automerge::storage::load::reconstruct_document::reconstruct_opset (reconstruct_document.rs:223)
| | ->01.29% (163,840B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->01.29% (163,840B) 0x17CBC8: {closure
| | ->01.29% (163,840B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->01.29% (163,840B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->01.29% (163,840B) 0x1218EC: am_repro::main (main.rs:12)
| | ->01.29% (163,840B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->01.29% (163,840B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->01.04% (131,072B) 0x151A8E: grow_amortized<automerge::types::ActorId, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.04% (131,072B) 0x151A8E: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.04% (131,072B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.89% (112,896B) in 1+ places, all below ms_print's threshold (01.00%)
|
->29.30% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->29.30% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->29.30% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->29.30% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->29.30% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->29.30% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->29.30% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->29.30% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->29.30% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->29.30% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->29.30% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->29.30% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->16.12% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->16.12% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->16.12% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->16.12% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->16.12% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->09.64% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->09.64% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->09.63% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->09.06% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->05.49% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->05.49% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->05.49% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->05.49% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->05.49% (694,108B) 0x17CBC8: {closure
| | | | | | ->05.49% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->05.49% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->05.49% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->05.49% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->05.49% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->03.57% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->03.57% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->03.57% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->03.57% (452,192B) 0x17CBC8: {closure
| | | | | ->03.57% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->03.57% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->03.57% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->03.57% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->03.57% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.57% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.01% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->06.47% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->06.47% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->06.47% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->06.47% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->06.47% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->06.47% (819,216B) 0x17CBC8: {closure
| | | | ->06.47% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->06.47% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->06.47% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->06.47% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->06.47% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->13.19% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->13.19% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->13.19% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->13.19% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->13.19% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->11.47% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->11.47% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->09.75% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->05.42% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->05.42% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->05.42% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->05.42% (685,264B) 0x17CBC8: {closure
| | | | ->05.42% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->05.42% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->05.42% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->05.42% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->05.42% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->04.33% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->04.33% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->04.33% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->04.33% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->04.33% (548,016B) 0x17CBC8: {closure
| | | ->04.33% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->04.33% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->04.33% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->04.33% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->04.33% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->01.72% (217,632B) 0x148AA8: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:557)
| | ->01.72% (217,632B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | ->01.72% (217,632B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->01.72% (217,632B) 0x17CBC8: {closure
| | ->01.72% (217,632B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->01.72% (217,632B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->01.72% (217,632B) 0x1218EC: am_repro::main (main.rs:12)
| | ->01.72% (217,632B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->01.72% (217,632B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->01.72% (217,632B) 0x1495B3: reindex (node.rs:92)
| ->01.72% (217,632B) 0x1495B3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:226)
| ->01.72% (217,632B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.62% (204,816B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.62% (204,816B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.62% (204,816B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.62% (204,816B) 0x17CBC8: {closure
| | | ->01.62% (204,816B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.62% (204,816B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.62% (204,816B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.62% (204,816B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.62% (204,816B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.10% (12,816B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->12.75% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->12.75% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->12.75% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->12.75% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->12.75% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->12.75% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->12.75% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->12.75% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->12.75% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->12.75% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->12.75% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->12.75% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->12.75% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->12.75% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->12.75% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->07.06% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->07.06% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->07.06% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->03.56% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->03.56% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.56% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->03.48% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->02.33% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->02.33% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->02.33% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->02.33% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->02.33% (294,880B) 0x17CBC8: {closure
| | | | | | ->02.33% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->02.33% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->02.33% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->02.33% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->02.33% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.15% (145,920B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.15% (145,920B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.15% (145,920B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.15% (145,920B) 0x17CBC8: {closure
| | | | | ->01.15% (145,920B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.15% (145,920B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.15% (145,920B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.15% (145,920B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.15% (145,920B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.07% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->03.50% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->03.50% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.33% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.33% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.33% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.33% (294,928B) 0x17CBC8: {closure
| | | | ->02.33% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.33% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.33% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.33% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.33% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.17% (147,472B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.17% (147,472B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.17% (147,472B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.17% (147,472B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.17% (147,472B) 0x17CBC8: {closure
| | | | | ->01.17% (147,472B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.17% (147,472B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.17% (147,472B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.17% (147,472B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.17% (147,472B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->05.69% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->05.69% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->05.69% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->05.66% (715,760B) 0x149474: reindex (node.rs:92)
| | ->05.66% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->05.04% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->02.85% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.85% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.85% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.85% (359,952B) 0x17CBC8: {closure
| | | | ->02.85% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.85% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.85% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.85% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.85% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->02.19% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.19% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->02.19% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->02.19% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->02.19% (277,440B) 0x17CBC8: {closure
| | | ->02.19% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->02.19% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->02.19% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->02.19% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->02.19% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.62% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.04% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.01% (506,872B) 0x12B30C: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.01% (506,872B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.01% (506,872B) 0x17CBC8: {closure
| ->04.01% (506,872B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.01% (506,872B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.01% (506,872B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.01% (506,872B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.01% (506,872B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.45% (436,957B) in 54 places, all below massif's threshold (1.00%)
|
->01.31% (165,840B) 0x127EB5: alloc (alloc.rs:98)
->01.31% (165,840B) 0x127EB5: UnknownInlinedFun (alloc.rs:181)
->01.31% (165,840B) 0x127EB5: allocate (alloc.rs:241)
->01.31% (165,840B) 0x127EB5: allocate_in<u8, alloc::alloc::Global> (raw_vec.rs:199)
->01.31% (165,840B) 0x127EB5: with_capacity_in<u8, alloc::alloc::Global> (raw_vec.rs:145)
->01.31% (165,840B) 0x127EB5: with_capacity_in<u8, alloc::alloc::Global> (mod.rs:672)
->01.31% (165,840B) 0x127EB5: with_capacity<u8> (mod.rs:481)
->01.31% (165,840B) 0x127EB5: new<automerge::storage::document::compression::Decompressing> (compression.rs:240)
->01.31% (165,840B) 0x127EB5: decompress (compression.rs:67)
->01.31% (165,840B) 0x127EB5: parse (document.rs:163)
->01.31% (165,840B) 0x127EB5: automerge::storage::chunk::Chunk::parse (chunk.rs:71)
->01.31% (165,840B) 0x17C922: {closure
->01.31% (165,840B) 0x17C922: load_with_options (automerge.rs:588)
->01.31% (165,840B) 0x17C922: automerge::automerge::Automerge::load (automerge.rs:541)
->01.31% (165,840B) 0x1218EC: am_repro::main (main.rs:12)
->01.31% (165,840B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.31% (165,840B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
12 205,377,455 13,034,696 12,891,420 143,276 0
13 219,921,854 13,698,376 13,546,974 151,402 0
14 240,154,310 13,957,288 13,794,875 162,413 0
15 259,824,161 15,093,968 14,922,765 171,203 0
16 272,347,962 15,210,848 15,033,173 177,675 0
17 288,509,770 15,364,568 15,178,192 186,376 0
18 302,821,976 15,479,824 15,286,638 193,186 0
19 315,875,754 16,784,424 16,588,430 195,994 0
98.83% (16,588,430B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->45.84% (7,693,208B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->26.55% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->26.55% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->26.55% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->26.55% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->26.55% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->26.55% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->26.55% (4,456,448B) 0x17CBC8: {closure
| | | | ->26.55% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->26.55% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->26.55% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->26.55% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->26.55% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->11.71% (1,966,080B) 0x16C297: grow_amortized<automerge::storage::change::Change<automerge::storage::change::Verified>, alloc::alloc::Global> (raw_vec.rs:433)
| | ->11.71% (1,966,080B) 0x16C297: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->11.71% (1,966,080B) 0x130E23: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:1922)
| | ->11.71% (1,966,080B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->11.71% (1,966,080B) 0x17CBC8: {closure
| | ->11.71% (1,966,080B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->11.71% (1,966,080B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->11.71% (1,966,080B) 0x1218EC: am_repro::main (main.rs:12)
| | ->11.71% (1,966,080B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->11.71% (1,966,080B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->03.56% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->03.56% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->03.56% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->03.56% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->03.56% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->03.56% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->03.48% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.23% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->02.23% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.23% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.23% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.23% (374,784B) 0x17CBC8: {closure
| | | | ->02.23% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.23% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.23% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.23% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.23% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.24% (208,896B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.24% (208,896B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.24% (208,896B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.24% (208,896B) 0x17CBC8: {closure
| | | ->01.24% (208,896B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.24% (208,896B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.24% (208,896B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.24% (208,896B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.24% (208,896B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.08% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.25% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->02.12% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | | ->02.12% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | | ->02.12% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | | ->02.12% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | | ->02.12% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->02.07% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.39% (232,920B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.39% (232,920B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.39% (232,920B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.39% (232,920B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.39% (232,920B) 0x17CBC8: {closure
| | | | | | ->01.39% (232,920B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.39% (232,920B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.39% (232,920B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.39% (232,920B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.39% (232,920B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.69% (115,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.04% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.14% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.76% (294,912B) in 10 places, all below massif's threshold (1.00%)
|
->22.09% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->22.09% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->22.09% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->22.09% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->22.09% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->22.09% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->22.09% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->22.09% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->22.09% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->22.09% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->22.09% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->22.09% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->12.15% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->12.15% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->12.15% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->12.15% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->12.15% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->07.27% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->07.27% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->07.26% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->06.83% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->04.14% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->04.14% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->04.14% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->04.14% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->04.14% (694,108B) 0x17CBC8: {closure
| | | | | | ->04.14% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->04.14% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->04.14% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->04.14% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->04.14% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->02.69% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->02.69% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->02.69% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->02.69% (452,192B) 0x17CBC8: {closure
| | | | | ->02.69% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->02.69% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->02.69% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->02.69% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->02.69% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.43% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->04.88% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->04.88% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->04.88% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->04.88% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->04.88% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->04.88% (819,216B) 0x17CBC8: {closure
| | | | ->04.88% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->04.88% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->04.88% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->04.88% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->04.88% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->09.94% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->09.94% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->09.94% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->09.94% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->09.94% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->08.64% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->08.64% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->07.35% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->04.08% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->04.08% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->04.08% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->04.08% (685,264B) 0x17CBC8: {closure
| | | | ->04.08% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->04.08% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->04.08% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->04.08% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->04.08% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->03.27% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->03.27% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->03.27% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->03.27% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->03.27% (548,016B) 0x17CBC8: {closure
| | | ->03.27% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->03.27% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->03.27% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->03.27% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->03.27% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->01.30% (217,632B) 0x148AA8: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:557)
| | ->01.30% (217,632B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | ->01.30% (217,632B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->01.30% (217,632B) 0x17CBC8: {closure
| | ->01.30% (217,632B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->01.30% (217,632B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->01.30% (217,632B) 0x1218EC: am_repro::main (main.rs:12)
| | ->01.30% (217,632B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->01.30% (217,632B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->01.30% (217,632B) 0x1495B3: reindex (node.rs:92)
| ->01.30% (217,632B) 0x1495B3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:226)
| ->01.30% (217,632B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.22% (204,816B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.22% (204,816B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.22% (204,816B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.22% (204,816B) 0x17CBC8: {closure
| | | ->01.22% (204,816B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.22% (204,816B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.22% (204,816B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.22% (204,816B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.22% (204,816B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.08% (12,816B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->11.55% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->11.55% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->11.55% (1,938,040B) 0x17CBC8: {closure
| ->11.55% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->11.55% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->11.55% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->11.55% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->11.55% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->09.61% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.61% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.61% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->09.61% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->09.61% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->09.61% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.61% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.61% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.61% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.61% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.61% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.61% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->09.61% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->09.61% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->09.61% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->05.32% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->05.32% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->05.32% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->02.68% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->02.68% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.68% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.63% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.76% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.76% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.76% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.76% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.76% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.76% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.76% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.76% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.76% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.76% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.87% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.05% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.64% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->02.64% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.76% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.76% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.76% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.76% (294,928B) 0x17CBC8: {closure
| | | | ->01.76% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.76% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.76% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.76% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.76% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.88% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.29% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->04.29% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->04.29% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->04.26% (715,760B) 0x149474: reindex (node.rs:92)
| | ->04.26% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.80% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->02.14% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.14% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.14% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.14% (359,952B) 0x17CBC8: {closure
| | | | ->02.14% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.14% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.14% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.14% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.14% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.65% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.65% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.65% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.65% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.65% (277,440B) 0x17CBC8: {closure
| | | ->01.65% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.65% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.65% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.65% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.65% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.47% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.03% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.76% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.76% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->03.76% (630,497B) 0x17CBC8: {closure
| ->03.76% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->03.76% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->03.76% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->03.76% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->03.76% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->02.85% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.85% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
| ->02.85% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.85% (478,560B) 0x17CBC8: {closure
| ->02.85% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.85% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.85% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
| ->02.85% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.85% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->02.00% (335,905B) in 57 places, all below massif's threshold (1.00%)
|
->01.14% (191,488B) 0x12DD78: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
->01.14% (191,488B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.14% (191,488B) 0x17CBC8: {closure
->01.14% (191,488B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.14% (191,488B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.14% (191,488B) 0x1218EC: am_repro::main (main.rs:12)
->01.14% (191,488B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.14% (191,488B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
20 328,692,041 15,412,112 15,203,426 208,686 0
21 341,503,441 15,755,528 15,541,906 213,622 0
22 354,317,901 15,920,032 15,703,186 216,846 0
23 376,739,025 16,189,824 15,967,562 222,262 0
24 392,763,255 16,414,216 16,187,586 226,630 0
25 402,377,781 16,500,568 16,272,722 227,846 0
26 419,907,651 16,715,856 16,484,522 231,334 0
98.62% (16,484,522B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->34.88% (5,829,656B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->26.66% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->26.66% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->26.66% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->26.66% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->26.66% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->26.66% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->26.66% (4,456,448B) 0x17CBC8: {closure
| | | | ->26.66% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->26.66% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->26.66% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->26.66% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->26.66% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.57% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->03.57% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->03.57% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->03.57% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->03.57% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->03.57% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->03.49% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.24% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->02.24% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.24% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.24% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.24% (374,784B) 0x17CBC8: {closure
| | | | ->02.24% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.24% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.24% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.24% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.24% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.25% (208,896B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.25% (208,896B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.25% (208,896B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.25% (208,896B) 0x17CBC8: {closure
| | | ->01.25% (208,896B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.25% (208,896B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.25% (208,896B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.25% (208,896B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.25% (208,896B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.08% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.38% (397,440B) in 16 places, all below massif's threshold (1.00%)
| |
| ->02.26% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->02.13% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->02.13% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->02.13% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->02.13% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->02.13% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.08% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.39% (232,920B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.39% (232,920B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.39% (232,920B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.39% (232,920B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.39% (232,920B) 0x17CBC8: {closure
| | | | | ->01.39% (232,920B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.39% (232,920B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.39% (232,920B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.39% (232,920B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.39% (232,920B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.69% (115,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.04% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.14% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->22.18% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->22.18% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->22.18% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->22.18% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->22.18% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->22.18% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->22.18% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->22.18% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->22.18% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->22.18% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->22.18% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->22.18% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->12.20% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->12.20% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->12.20% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->12.20% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->12.20% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->07.30% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->07.30% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->07.29% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->06.86% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->04.15% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->04.15% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->04.15% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->04.15% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->04.15% (694,108B) 0x17CBC8: {closure
| | | | | | ->04.15% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->04.15% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->04.15% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->04.15% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->04.15% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->02.71% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->02.71% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->02.71% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->02.71% (452,192B) 0x17CBC8: {closure
| | | | | ->02.71% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->02.71% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->02.71% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->02.71% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->02.71% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.43% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->04.90% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->04.90% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->04.90% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->04.90% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->04.90% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->04.90% (819,216B) 0x17CBC8: {closure
| | | | ->04.90% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->04.90% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->04.90% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->04.90% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->04.90% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->09.98% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->09.98% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->09.98% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->09.98% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->09.98% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->08.68% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->08.68% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->07.38% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->04.10% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->04.10% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->04.10% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->04.10% (685,264B) 0x17CBC8: {closure
| | | | ->04.10% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->04.10% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->04.10% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->04.10% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->04.10% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->03.28% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->03.28% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->03.28% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->03.28% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->03.28% (548,016B) 0x17CBC8: {closure
| | | ->03.28% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->03.28% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->03.28% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->03.28% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->03.28% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->01.30% (217,632B) 0x148AA8: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:557)
| | ->01.30% (217,632B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | ->01.30% (217,632B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->01.30% (217,632B) 0x17CBC8: {closure
| | ->01.30% (217,632B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->01.30% (217,632B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->01.30% (217,632B) 0x1218EC: am_repro::main (main.rs:12)
| | ->01.30% (217,632B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->01.30% (217,632B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->01.30% (217,632B) 0x1495B3: reindex (node.rs:92)
| ->01.30% (217,632B) 0x1495B3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:226)
| ->01.30% (217,632B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.23% (204,816B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.23% (204,816B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.23% (204,816B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.23% (204,816B) 0x17CBC8: {closure
| | | ->01.23% (204,816B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.23% (204,816B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.23% (204,816B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.23% (204,816B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.23% (204,816B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.08% (12,816B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->11.59% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->11.59% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->11.59% (1,938,040B) 0x17CBC8: {closure
| ->11.59% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->11.59% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->11.59% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->11.59% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->11.59% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->09.65% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.65% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.65% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->09.65% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->09.65% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->09.65% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.65% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.65% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.65% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.65% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.65% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.65% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->09.65% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->09.65% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->09.65% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->05.34% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->05.34% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->05.34% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->02.69% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->02.69% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.69% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.64% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.76% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.76% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.76% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.76% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.76% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.76% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.76% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.76% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.76% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.76% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.87% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.05% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.65% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->02.65% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.76% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.76% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.76% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.76% (294,928B) 0x17CBC8: {closure
| | | | ->01.76% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.76% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.76% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.76% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.76% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.88% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.31% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->04.31% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->04.31% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->04.28% (715,760B) 0x149474: reindex (node.rs:92)
| | ->04.28% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.81% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->02.15% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.15% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.15% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.15% (359,952B) 0x17CBC8: {closure
| | | | ->02.15% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.15% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.15% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.15% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.15% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.66% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.66% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.66% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.66% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.66% (277,440B) 0x17CBC8: {closure
| | | ->01.66% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.66% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.66% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.66% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.66% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.47% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.03% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.45% (1,411,656B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.45% (1,411,656B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.45% (1,411,656B) 0x15FB16: alloc (alloc.rs:98)
| ->08.45% (1,411,656B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->08.45% (1,411,656B) 0x15FB16: allocate (alloc.rs:241)
| ->08.45% (1,411,656B) 0x15FB16: {closure
| ->08.45% (1,411,656B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->08.45% (1,411,656B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->08.45% (1,411,656B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->07.77% (1,299,520B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->07.77% (1,299,520B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->07.77% (1,299,520B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->07.77% (1,299,520B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->07.77% (1,299,520B) 0x135154: merge (clock.rs:56)
| | ->07.77% (1,299,520B) 0x135154: {closure
| | ->07.77% (1,299,520B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->07.77% (1,299,520B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->07.77% (1,299,520B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->07.77% (1,299,520B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->07.77% (1,299,520B) 0x17D33D: {closure
| | ->07.77% (1,299,520B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->07.77% (1,299,520B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->07.77% (1,299,520B) 0x1218EC: am_repro::main (main.rs:12)
| | ->07.77% (1,299,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->07.77% (1,299,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.67% (112,136B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.09% (683,893B) in 74 places, all below massif's threshold (1.00%)
|
->03.77% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.77% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->03.77% (630,497B) 0x17CBC8: {closure
| ->03.77% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->03.77% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->03.77% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->03.77% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->03.77% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->02.86% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.86% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
| ->02.86% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.86% (478,560B) 0x17CBC8: {closure
| ->02.86% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.86% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.86% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
| ->02.86% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.86% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.15% (191,488B) 0x12DD78: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
->01.15% (191,488B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.15% (191,488B) 0x17CBC8: {closure
->01.15% (191,488B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.15% (191,488B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.15% (191,488B) 0x1218EC: am_repro::main (main.rs:12)
->01.15% (191,488B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.15% (191,488B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
27 439,026,948 16,990,928 16,755,994 234,934 0
28 450,712,991 17,077,328 16,840,762 236,566 0
29 468,133,192 18,498,624 18,239,970 258,654 0
98.60% (18,239,970B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->32.04% (5,927,256B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->24.09% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->24.09% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->24.09% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->24.09% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->24.09% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->24.09% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->24.09% (4,456,448B) 0x17CBC8: {closure
| | | | ->24.09% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->24.09% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->24.09% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->24.09% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->24.09% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.23% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->03.23% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->03.23% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->03.23% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->03.23% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->03.23% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->03.16% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.03% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->02.03% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.03% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.03% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.03% (374,784B) 0x17CBC8: {closure
| | | | ->02.03% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.03% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.03% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.03% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.03% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.13% (208,896B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.13% (208,896B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.13% (208,896B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.13% (208,896B) 0x17CBC8: {closure
| | | ->01.13% (208,896B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.13% (208,896B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.13% (208,896B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.13% (208,896B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.13% (208,896B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.07% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.68% (495,040B) in 16 places, all below massif's threshold (1.00%)
| |
| ->02.04% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.92% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.92% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.92% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.92% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.92% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.88% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.26% (232,920B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.26% (232,920B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.26% (232,920B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.26% (232,920B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.26% (232,920B) 0x17CBC8: {closure
| | | | | ->01.26% (232,920B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.26% (232,920B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.26% (232,920B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.26% (232,920B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.26% (232,920B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.62% (115,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.04% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.12% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->20.04% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->20.04% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->20.04% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->20.04% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->20.04% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->20.04% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->20.04% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->20.04% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->20.04% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->20.04% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->20.04% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->20.04% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->11.02% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->11.02% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->11.02% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->11.02% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->11.02% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->06.59% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->06.59% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->06.59% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->06.20% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->03.75% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->03.75% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->03.75% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->03.75% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->03.75% (694,108B) 0x17CBC8: {closure
| | | | | | ->03.75% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->03.75% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->03.75% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->03.75% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->03.75% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->02.44% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->02.44% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->02.44% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->02.44% (452,192B) 0x17CBC8: {closure
| | | | | ->02.44% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->02.44% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->02.44% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->02.44% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->02.44% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.39% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->04.43% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->04.43% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->04.43% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->04.43% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->04.43% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->04.43% (819,216B) 0x17CBC8: {closure
| | | | ->04.43% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->04.43% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->04.43% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->04.43% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->04.43% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->09.02% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->09.02% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->09.02% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->09.02% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->09.02% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->07.84% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->07.84% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->06.67% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->03.70% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->03.70% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->03.70% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.70% (685,264B) 0x17CBC8: {closure
| | | | ->03.70% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.70% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.70% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->03.70% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.70% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->02.96% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.96% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->02.96% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->02.96% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->02.96% (548,016B) 0x17CBC8: {closure
| | | ->02.96% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->02.96% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->02.96% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->02.96% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->02.96% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->01.18% (217,632B) 0x148AA8: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:557)
| | ->01.18% (217,632B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | ->01.18% (217,632B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->01.18% (217,632B) 0x17CBC8: {closure
| | ->01.18% (217,632B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->01.18% (217,632B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->01.18% (217,632B) 0x1218EC: am_repro::main (main.rs:12)
| | ->01.18% (217,632B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->01.18% (217,632B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->01.18% (217,632B) 0x1495B3: reindex (node.rs:92)
| ->01.18% (217,632B) 0x1495B3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:226)
| ->01.18% (217,632B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.11% (204,816B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.11% (204,816B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.11% (204,816B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.11% (204,816B) 0x17CBC8: {closure
| | | ->01.11% (204,816B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.11% (204,816B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.11% (204,816B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.11% (204,816B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.11% (204,816B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.07% (12,816B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->13.76% (2,544,544B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->13.76% (2,544,544B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->13.76% (2,544,544B) 0x15FB16: alloc (alloc.rs:98)
| ->13.76% (2,544,544B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->13.76% (2,544,544B) 0x15FB16: allocate (alloc.rs:241)
| ->13.76% (2,544,544B) 0x15FB16: {closure
| ->13.76% (2,544,544B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->13.76% (2,544,544B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->13.76% (2,544,544B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->13.10% (2,424,024B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->13.10% (2,424,024B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->13.10% (2,424,024B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->13.10% (2,424,024B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->13.10% (2,424,024B) 0x135154: merge (clock.rs:56)
| | ->13.10% (2,424,024B) 0x135154: {closure
| | ->13.10% (2,424,024B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->13.10% (2,424,024B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->13.10% (2,424,024B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->13.10% (2,424,024B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->13.10% (2,424,024B) 0x17D33D: {closure
| | ->13.10% (2,424,024B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->13.10% (2,424,024B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->13.10% (2,424,024B) 0x1218EC: am_repro::main (main.rs:12)
| | ->13.10% (2,424,024B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->13.10% (2,424,024B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.65% (120,520B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.48% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->10.48% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->10.48% (1,938,040B) 0x17CBC8: {closure
| ->10.48% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->10.48% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->10.48% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->10.48% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->10.48% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->08.72% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.72% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.72% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->08.72% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->08.72% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->08.72% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.72% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.72% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.72% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.72% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.72% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.72% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->08.72% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->08.72% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->08.72% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->04.83% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->04.83% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->04.83% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->02.43% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->02.43% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.43% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.38% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.59% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.59% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.59% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.59% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.59% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.59% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.59% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.59% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.59% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.59% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.79% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.05% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.39% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->02.39% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.59% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.59% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.59% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.59% (294,928B) 0x17CBC8: {closure
| | | | ->01.59% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.59% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.59% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.59% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.59% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.80% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.89% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->03.89% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->03.89% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->03.87% (715,760B) 0x149474: reindex (node.rs:92)
| | ->03.87% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.45% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.95% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.95% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.95% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.95% (359,952B) 0x17CBC8: {closure
| | | | ->01.95% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.95% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.95% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.95% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.95% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.50% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.50% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.50% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.50% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.50% (277,440B) 0x17CBC8: {closure
| | | ->01.50% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.50% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.50% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.50% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.50% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.42% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.02% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.41% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.41% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->03.41% (630,497B) 0x17CBC8: {closure
| ->03.41% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->03.41% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->03.41% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->03.41% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->03.41% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.35% (620,416B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.35% (620,416B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.35% (620,416B) 0x15FA39: alloc (alloc.rs:98)
| ->03.35% (620,416B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->03.35% (620,416B) 0x15FA39: allocate (alloc.rs:241)
| ->03.35% (620,416B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->03.35% (620,416B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->03.35% (620,416B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->03.35% (620,416B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->03.35% (620,416B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->03.35% (620,416B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->03.35% (620,416B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->03.35% (620,416B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->03.06% (566,968B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->03.06% (566,968B) 0x13502A: merge (clock.rs:64)
| | ->03.06% (566,968B) 0x13502A: {closure
| | ->03.06% (566,968B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->03.06% (566,968B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->03.06% (566,968B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->03.06% (566,968B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->03.06% (566,968B) 0x17D33D: {closure
| | ->03.06% (566,968B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->03.06% (566,968B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->03.06% (566,968B) 0x1218EC: am_repro::main (main.rs:12)
| | ->03.06% (566,968B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->03.06% (566,968B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.29% (53,448B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.18% (588,437B) in 73 places, all below massif's threshold (1.00%)
|
->02.59% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.59% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
| ->02.59% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.59% (478,560B) 0x17CBC8: {closure
| ->02.59% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.59% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.59% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
| ->02.59% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.59% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.04% (191,488B) 0x12DD78: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
->01.04% (191,488B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.04% (191,488B) 0x17CBC8: {closure
->01.04% (191,488B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.04% (191,488B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.04% (191,488B) 0x1218EC: am_repro::main (main.rs:12)
->01.04% (191,488B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.04% (191,488B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
30 479,602,599 19,484,512 19,210,266 274,246 0
98.59% (19,210,266B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->30.42% (5,927,640B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->22.87% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->22.87% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->22.87% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->22.87% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->22.87% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->22.87% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->22.87% (4,456,448B) 0x17CBC8: {closure
| | | | ->22.87% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->22.87% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->22.87% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->22.87% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->22.87% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.07% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->03.07% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->03.07% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->03.07% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->03.07% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->03.07% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->03.00% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.92% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.92% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.92% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.92% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.92% (374,784B) 0x17CBC8: {closure
| | | | ->01.92% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.92% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.92% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.92% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.92% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.07% (208,896B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.07% (208,896B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.07% (208,896B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.07% (208,896B) 0x17CBC8: {closure
| | | ->01.07% (208,896B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.07% (208,896B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.07% (208,896B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.07% (208,896B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.07% (208,896B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.07% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.54% (495,424B) in 16 places, all below massif's threshold (1.00%)
| |
| ->01.94% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.82% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.82% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.82% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.82% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.82% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.79% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.20% (232,920B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.20% (232,920B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.20% (232,920B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.20% (232,920B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.20% (232,920B) 0x17CBC8: {closure
| | | | | ->01.20% (232,920B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.20% (232,920B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.20% (232,920B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.20% (232,920B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.20% (232,920B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.59% (115,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.04% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.12% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->19.03% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->19.03% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->19.03% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->19.03% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->19.03% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->19.03% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->19.03% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->19.03% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->19.03% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->19.03% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->19.03% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->19.03% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->10.46% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->10.46% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->10.46% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->10.46% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->10.46% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->06.26% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->06.26% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->06.26% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->05.88% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->03.56% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->03.56% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->03.56% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->03.56% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->03.56% (694,108B) 0x17CBC8: {closure
| | | | | | ->03.56% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->03.56% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->03.56% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->03.56% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->03.56% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->02.32% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->02.32% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->02.32% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->02.32% (452,192B) 0x17CBC8: {closure
| | | | | ->02.32% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->02.32% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->02.32% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->02.32% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->02.32% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.37% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->04.20% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->04.20% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->04.20% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->04.20% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->04.20% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->04.20% (819,216B) 0x17CBC8: {closure
| | | | ->04.20% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->04.20% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->04.20% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->04.20% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->04.20% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->08.56% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->08.56% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->08.56% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->08.56% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->08.56% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->07.45% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->07.45% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->06.33% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->03.52% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->03.52% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->03.52% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.52% (685,264B) 0x17CBC8: {closure
| | | | ->03.52% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.52% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.52% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->03.52% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.52% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->02.81% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.81% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->02.81% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->02.81% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->02.81% (548,016B) 0x17CBC8: {closure
| | | ->02.81% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->02.81% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->02.81% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->02.81% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->02.81% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->01.12% (217,632B) 0x148AA8: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:557)
| | ->01.12% (217,632B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | ->01.12% (217,632B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->01.12% (217,632B) 0x17CBC8: {closure
| | ->01.12% (217,632B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->01.12% (217,632B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->01.12% (217,632B) 0x1218EC: am_repro::main (main.rs:12)
| | ->01.12% (217,632B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->01.12% (217,632B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->01.12% (217,632B) 0x1495B3: reindex (node.rs:92)
| ->01.12% (217,632B) 0x1495B3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:226)
| ->01.12% (217,632B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.05% (204,816B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.05% (204,816B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.05% (204,816B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.05% (204,816B) 0x17CBC8: {closure
| | | ->01.05% (204,816B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.05% (204,816B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.05% (204,816B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.05% (204,816B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.05% (204,816B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.07% (12,816B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->17.53% (3,416,480B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->17.53% (3,416,480B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->17.53% (3,416,480B) 0x15FB16: alloc (alloc.rs:98)
| ->17.53% (3,416,480B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->17.53% (3,416,480B) 0x15FB16: allocate (alloc.rs:241)
| ->17.53% (3,416,480B) 0x15FB16: {closure
| ->17.53% (3,416,480B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->17.53% (3,416,480B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->17.53% (3,416,480B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->16.81% (3,275,000B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->16.81% (3,275,000B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->16.81% (3,275,000B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->16.81% (3,275,000B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->16.81% (3,275,000B) 0x135154: merge (clock.rs:56)
| | ->16.81% (3,275,000B) 0x135154: {closure
| | ->16.81% (3,275,000B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->16.81% (3,275,000B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->16.81% (3,275,000B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->16.81% (3,275,000B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->16.81% (3,275,000B) 0x17D33D: {closure
| | ->16.81% (3,275,000B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->16.81% (3,275,000B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->16.81% (3,275,000B) 0x1218EC: am_repro::main (main.rs:12)
| | ->16.81% (3,275,000B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->16.81% (3,275,000B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.73% (141,480B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.95% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->09.95% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->09.95% (1,938,040B) 0x17CBC8: {closure
| ->09.95% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->09.95% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->09.95% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->09.95% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->09.95% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->08.28% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.28% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.28% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->08.28% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->08.28% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->08.28% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.28% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.28% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.28% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.28% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.28% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.28% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->08.28% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->08.28% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->08.28% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->04.58% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->04.58% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->04.58% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->02.31% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->02.31% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.31% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.26% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.51% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.51% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.51% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.51% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.51% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.51% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.51% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.51% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.51% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.51% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.75% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.05% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.27% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->02.27% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.51% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.51% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.51% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.51% (294,928B) 0x17CBC8: {closure
| | | | ->01.51% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.51% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.51% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.51% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.51% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.76% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.70% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->03.70% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->03.70% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->03.67% (715,760B) 0x149474: reindex (node.rs:92)
| | ->03.67% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.27% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.85% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.85% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.85% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.85% (359,952B) 0x17CBC8: {closure
| | | | ->01.85% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.85% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.85% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.85% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.85% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.42% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.42% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.42% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.42% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.42% (277,440B) 0x17CBC8: {closure
| | | ->01.42% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.42% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.42% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.42% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.42% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.40% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.02% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.05% (788,821B) in 74 places, all below massif's threshold (1.00%)
|
->03.64% (709,496B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.64% (709,496B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.64% (709,496B) 0x15FA39: alloc (alloc.rs:98)
| ->03.64% (709,496B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->03.64% (709,496B) 0x15FA39: allocate (alloc.rs:241)
| ->03.64% (709,496B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->03.64% (709,496B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->03.64% (709,496B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->03.64% (709,496B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->03.64% (709,496B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->03.64% (709,496B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->03.64% (709,496B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->03.64% (709,496B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->03.31% (645,568B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->03.31% (645,568B) 0x13502A: merge (clock.rs:64)
| | ->03.31% (645,568B) 0x13502A: {closure
| | ->03.31% (645,568B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->03.31% (645,568B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->03.31% (645,568B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->03.31% (645,568B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->03.31% (645,568B) 0x17D33D: {closure
| | ->03.31% (645,568B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->03.31% (645,568B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->03.31% (645,568B) 0x1218EC: am_repro::main (main.rs:12)
| | ->03.31% (645,568B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->03.31% (645,568B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.33% (63,928B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.24% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.24% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->03.24% (630,497B) 0x17CBC8: {closure
| ->03.24% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->03.24% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->03.24% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->03.24% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->03.24% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->02.46% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->02.46% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->02.46% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->02.46% (478,560B) 0x17CBC8: {closure
->02.46% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->02.46% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->02.46% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->02.46% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->02.46% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
31 493,262,389 19,744,528 19,465,906 278,622 0
32 503,867,349 20,786,856 20,493,330 293,526 0
98.59% (20,493,330B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->28.52% (5,927,896B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->21.44% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->21.44% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->21.44% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->21.44% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->21.44% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->21.44% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->21.44% (4,456,448B) 0x17CBC8: {closure
| | | | ->21.44% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->21.44% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->21.44% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->21.44% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->21.44% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.87% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->02.87% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->02.87% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->02.87% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->02.87% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->02.87% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->02.81% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.80% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.80% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.80% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.80% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.80% (374,784B) 0x17CBC8: {closure
| | | | ->01.80% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.80% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.80% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.80% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.80% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.00% (208,896B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.00% (208,896B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.00% (208,896B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.00% (208,896B) 0x17CBC8: {closure
| | | ->01.00% (208,896B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.00% (208,896B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.00% (208,896B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.00% (208,896B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.00% (208,896B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.07% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.38% (495,680B) in 16 places, all below massif's threshold (1.00%)
| |
| ->01.82% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.71% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.71% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.71% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.71% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.71% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.67% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.12% (232,920B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.12% (232,920B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.12% (232,920B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.12% (232,920B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.12% (232,920B) 0x17CBC8: {closure
| | | | | ->01.12% (232,920B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.12% (232,920B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.12% (232,920B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.12% (232,920B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.12% (232,920B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.55% (115,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.03% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.11% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->20.89% (4,342,912B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->20.89% (4,342,912B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->20.89% (4,342,912B) 0x15FB16: alloc (alloc.rs:98)
| ->20.89% (4,342,912B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->20.89% (4,342,912B) 0x15FB16: allocate (alloc.rs:241)
| ->20.89% (4,342,912B) 0x15FB16: {closure
| ->20.89% (4,342,912B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->20.89% (4,342,912B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->20.89% (4,342,912B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->20.18% (4,195,144B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->20.18% (4,195,144B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->20.18% (4,195,144B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->20.18% (4,195,144B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->20.18% (4,195,144B) 0x135154: merge (clock.rs:56)
| | ->20.18% (4,195,144B) 0x135154: {closure
| | ->20.18% (4,195,144B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->20.18% (4,195,144B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->20.18% (4,195,144B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->20.18% (4,195,144B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->20.18% (4,195,144B) 0x17D33D: {closure
| | ->20.18% (4,195,144B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->20.18% (4,195,144B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->20.18% (4,195,144B) 0x1218EC: am_repro::main (main.rs:12)
| | ->20.18% (4,195,144B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->20.18% (4,195,144B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.71% (147,768B) in 1+ places, all below ms_print's threshold (01.00%)
|
->17.84% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->17.84% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->17.84% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->17.84% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->17.84% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->17.84% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->17.84% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->17.84% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->17.84% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->17.84% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->17.84% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->17.84% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->09.81% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->09.81% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->09.81% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->09.81% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->09.81% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->05.87% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->05.87% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->05.86% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->05.51% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->03.34% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->03.34% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->03.34% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->03.34% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->03.34% (694,108B) 0x17CBC8: {closure
| | | | | | ->03.34% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->03.34% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->03.34% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->03.34% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->03.34% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->02.18% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->02.18% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->02.18% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->02.18% (452,192B) 0x17CBC8: {closure
| | | | | ->02.18% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->02.18% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->02.18% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->02.18% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->02.18% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.35% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->03.94% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->03.94% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->03.94% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->03.94% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->03.94% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.94% (819,216B) 0x17CBC8: {closure
| | | | ->03.94% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.94% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.94% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->03.94% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.94% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->08.03% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->08.03% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->08.03% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->08.03% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->08.03% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->06.98% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->06.98% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->05.93% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->03.30% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->03.30% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->03.30% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.30% (685,264B) 0x17CBC8: {closure
| | | | ->03.30% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.30% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.30% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->03.30% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.30% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->02.64% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.64% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->02.64% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->02.64% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->02.64% (548,016B) 0x17CBC8: {closure
| | | ->02.64% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->02.64% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->02.64% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->02.64% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->02.64% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->01.05% (217,632B) 0x148AA8: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:557)
| | ->01.05% (217,632B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | ->01.05% (217,632B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | ->01.05% (217,632B) 0x17CBC8: {closure
| | ->01.05% (217,632B) 0x17CBC8: load_with_options (automerge.rs:588)
| | ->01.05% (217,632B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->01.05% (217,632B) 0x1218EC: am_repro::main (main.rs:12)
| | ->01.05% (217,632B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->01.05% (217,632B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->01.05% (217,632B) 0x1495B3: reindex (node.rs:92)
| ->01.05% (217,632B) 0x1495B3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:226)
| ->01.05% (217,632B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.05% (217,632B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.32% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->09.32% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->09.32% (1,938,040B) 0x17CBC8: {closure
| ->09.32% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->09.32% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->09.32% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->09.32% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->09.32% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->07.76% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->07.76% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->07.76% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->07.76% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->07.76% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->07.76% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->07.76% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->07.76% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->07.76% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->07.76% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->07.76% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->07.76% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->07.76% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->07.76% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->07.76% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->04.30% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->04.30% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->04.30% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->02.17% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->02.17% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.16% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.12% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.42% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.42% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.42% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.42% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.42% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.42% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.42% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.42% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.42% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.42% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.70% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.04% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.13% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->02.13% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.42% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.42% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.42% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.42% (294,928B) 0x17CBC8: {closure
| | | | ->01.42% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.42% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.42% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.42% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.42% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.71% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.47% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->03.47% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->03.47% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->03.44% (715,760B) 0x149474: reindex (node.rs:92)
| | ->03.44% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.07% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.73% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.73% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.73% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.73% (359,952B) 0x17CBC8: {closure
| | | | ->01.73% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.73% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.73% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.73% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.73% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.33% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.33% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.33% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.33% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.33% (277,440B) 0x17CBC8: {closure
| | | ->01.33% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.33% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.33% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.33% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.33% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.38% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.02% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.61% (958,920B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.61% (958,920B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.61% (958,920B) 0x15FA39: alloc (alloc.rs:98)
| ->04.61% (958,920B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.61% (958,920B) 0x15FA39: allocate (alloc.rs:241)
| ->04.61% (958,920B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.61% (958,920B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.61% (958,920B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.61% (958,920B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.61% (958,920B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.61% (958,920B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.61% (958,920B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.61% (958,920B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.23% (879,272B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.23% (879,272B) 0x13502A: merge (clock.rs:64)
| | ->04.23% (879,272B) 0x13502A: {closure
| | ->04.23% (879,272B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.23% (879,272B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.23% (879,272B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.23% (879,272B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.23% (879,272B) 0x17D33D: {closure
| | ->04.23% (879,272B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.23% (879,272B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.23% (879,272B) 0x1218EC: am_repro::main (main.rs:12)
| | ->04.23% (879,272B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.23% (879,272B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.38% (79,648B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.31% (895,773B) in 74 places, all below massif's threshold (1.00%)
|
->03.03% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.03% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->03.03% (630,497B) 0x17CBC8: {closure
| ->03.03% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->03.03% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->03.03% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->03.03% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->03.03% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->02.30% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->02.30% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->02.30% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->02.30% (478,560B) 0x17CBC8: {closure
->02.30% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->02.30% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->02.30% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->02.30% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->02.30% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
33 520,647,025 21,998,264 21,686,194 312,070 0
98.58% (21,686,194B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->26.95% (5,928,152B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->20.26% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->20.26% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->20.26% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->20.26% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->20.26% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->20.26% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->20.26% (4,456,448B) 0x17CBC8: {closure
| | | | ->20.26% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->20.26% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->20.26% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->20.26% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->20.26% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.72% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->02.72% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->02.72% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->02.72% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->02.72% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->02.72% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->02.65% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.70% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.70% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.70% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.70% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.70% (374,784B) 0x17CBC8: {closure
| | | | ->01.70% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.70% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.70% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.70% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.70% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.95% (208,896B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.06% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.25% (495,936B) in 16 places, all below massif's threshold (1.00%)
| |
| ->01.72% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.62% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.62% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.62% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.62% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.62% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.58% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.06% (232,920B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.06% (232,920B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.06% (232,920B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.06% (232,920B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.06% (232,920B) 0x17CBC8: {closure
| | | | | ->01.06% (232,920B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.06% (232,920B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.06% (232,920B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.06% (232,920B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.06% (232,920B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.52% (115,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.03% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.10% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->24.44% (5,377,288B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->24.44% (5,377,288B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->24.44% (5,377,288B) 0x15FB16: alloc (alloc.rs:98)
| ->24.44% (5,377,288B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->24.44% (5,377,288B) 0x15FB16: allocate (alloc.rs:241)
| ->24.44% (5,377,288B) 0x15FB16: {closure
| ->24.44% (5,377,288B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->24.44% (5,377,288B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->24.44% (5,377,288B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->23.73% (5,220,088B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->23.73% (5,220,088B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->23.73% (5,220,088B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->23.73% (5,220,088B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->23.73% (5,220,088B) 0x135154: merge (clock.rs:56)
| | ->23.73% (5,220,088B) 0x135154: {closure
| | ->23.73% (5,220,088B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->23.73% (5,220,088B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->23.73% (5,220,088B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->23.73% (5,220,088B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->23.73% (5,220,088B) 0x17D33D: {closure
| | ->23.73% (5,220,088B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->23.73% (5,220,088B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->23.73% (5,220,088B) 0x1218EC: am_repro::main (main.rs:12)
| | ->23.73% (5,220,088B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->23.73% (5,220,088B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.71% (157,200B) in 1+ places, all below ms_print's threshold (01.00%)
|
->16.85% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->16.85% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->16.85% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->16.85% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->16.85% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->16.85% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->16.85% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->16.85% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->16.85% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->16.85% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->16.85% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->16.85% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->09.27% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->09.27% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->09.27% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->09.27% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->09.27% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->05.54% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->05.54% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->05.54% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->05.21% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->03.16% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->03.16% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->03.16% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->03.16% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->03.16% (694,108B) 0x17CBC8: {closure
| | | | | | ->03.16% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->03.16% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->03.16% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->03.16% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->03.16% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->02.06% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->02.06% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->02.06% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->02.06% (452,192B) 0x17CBC8: {closure
| | | | | ->02.06% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->02.06% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->02.06% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->02.06% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->02.06% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.33% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->03.72% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->03.72% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->03.72% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->03.72% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->03.72% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.72% (819,216B) 0x17CBC8: {closure
| | | | ->03.72% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.72% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.72% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->03.72% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.72% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->07.58% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->07.58% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->07.58% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->07.58% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->07.58% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->06.60% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->06.60% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->05.61% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->03.12% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->03.12% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->03.12% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.12% (685,264B) 0x17CBC8: {closure
| | | | ->03.12% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.12% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.12% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->03.12% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.12% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->02.49% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.49% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->02.49% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->02.49% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->02.49% (548,016B) 0x17CBC8: {closure
| | | ->02.49% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->02.49% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->02.49% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->02.49% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->02.49% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.99% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.99% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.81% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->08.81% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->08.81% (1,938,040B) 0x17CBC8: {closure
| ->08.81% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->08.81% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->08.81% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->08.81% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->08.81% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->07.33% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->07.33% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->07.33% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->07.33% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->07.33% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->07.33% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->07.33% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->07.33% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->07.33% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->07.33% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->07.33% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->07.33% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->07.33% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->07.33% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->07.33% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->04.06% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->04.06% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->04.06% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->02.05% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->02.05% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.05% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.00% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.34% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.34% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.34% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.34% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.34% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.34% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.34% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.34% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.34% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.34% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.66% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.04% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.01% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->02.01% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.34% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.34% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.34% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.34% (294,928B) 0x17CBC8: {closure
| | | | ->01.34% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.34% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.34% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.34% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.34% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.67% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.27% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->03.27% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->03.27% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->03.25% (715,760B) 0x149474: reindex (node.rs:92)
| | ->03.25% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.90% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.64% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.64% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.64% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.64% (359,952B) 0x17CBC8: {closure
| | | | ->01.64% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.64% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.64% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.64% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.64% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.26% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.26% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.26% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.26% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.26% (277,440B) 0x17CBC8: {closure
| | | ->01.26% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.26% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.26% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.26% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.26% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.36% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.02% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.87% (1,072,104B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.87% (1,072,104B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.87% (1,072,104B) 0x15FA39: alloc (alloc.rs:98)
| ->04.87% (1,072,104B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.87% (1,072,104B) 0x15FA39: allocate (alloc.rs:241)
| ->04.87% (1,072,104B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.87% (1,072,104B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.87% (1,072,104B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.87% (1,072,104B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.87% (1,072,104B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.87% (1,072,104B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.87% (1,072,104B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.87% (1,072,104B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.44% (977,784B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.44% (977,784B) 0x13502A: merge (clock.rs:64)
| | ->04.44% (977,784B) 0x13502A: {closure
| | ->04.44% (977,784B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.44% (977,784B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.44% (977,784B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.44% (977,784B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.44% (977,784B) 0x17D33D: {closure
| | ->04.44% (977,784B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.44% (977,784B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.44% (977,784B) 0x1218EC: am_repro::main (main.rs:12)
| | ->04.44% (977,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.44% (977,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.43% (94,320B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.28% (940,821B) in 74 places, all below massif's threshold (1.00%)
|
->02.87% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.87% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.87% (630,497B) 0x17CBC8: {closure
| ->02.87% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.87% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.87% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->02.87% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.87% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->02.18% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->02.18% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->02.18% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->02.18% (478,560B) 0x17CBC8: {closure
->02.18% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->02.18% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->02.18% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->02.18% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->02.18% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
34 532,691,205 22,020,408 21,707,922 312,486 0
35 551,817,171 24,459,256 24,111,122 348,134 0
98.58% (24,111,122B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->29.63% (7,246,920B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->29.63% (7,246,920B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->29.63% (7,246,920B) 0x15FB16: alloc (alloc.rs:98)
| ->29.63% (7,246,920B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->29.63% (7,246,920B) 0x15FB16: allocate (alloc.rs:241)
| ->29.63% (7,246,920B) 0x15FB16: {closure
| ->29.63% (7,246,920B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->29.63% (7,246,920B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->29.63% (7,246,920B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->28.94% (7,079,240B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->28.94% (7,079,240B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->28.94% (7,079,240B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->28.94% (7,079,240B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->28.94% (7,079,240B) 0x135154: merge (clock.rs:56)
| | ->28.94% (7,079,240B) 0x135154: {closure
| | ->28.94% (7,079,240B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->28.94% (7,079,240B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->28.94% (7,079,240B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->28.94% (7,079,240B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->28.94% (7,079,240B) 0x17D33D: {closure
| | ->28.94% (7,079,240B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->28.94% (7,079,240B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->28.94% (7,079,240B) 0x1218EC: am_repro::main (main.rs:12)
| | ->28.94% (7,079,240B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->28.94% (7,079,240B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.69% (167,680B) in 1+ places, all below ms_print's threshold (01.00%)
|
->24.85% (6,077,656B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->18.22% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->18.22% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->18.22% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->18.22% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->18.22% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->18.22% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->18.22% (4,456,448B) 0x17CBC8: {closure
| | | | ->18.22% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->18.22% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->18.22% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->18.22% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->18.22% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.64% (645,440B) in 16 places, all below massif's threshold (1.00%)
| |
| ->02.44% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->02.44% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->02.44% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->02.44% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->02.44% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->02.44% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->02.39% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.53% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.53% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.53% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.53% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.53% (374,784B) 0x17CBC8: {closure
| | | | ->01.53% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.53% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.53% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.53% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.53% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.85% (208,896B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.06% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.55% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.45% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.45% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.45% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.45% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.45% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.42% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.42% (348,120B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.03% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.09% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->15.16% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->15.16% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->15.16% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->15.16% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->15.16% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->15.16% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->15.16% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->15.16% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->15.16% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->15.16% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->15.16% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->15.16% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->08.34% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->08.34% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->08.34% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->08.34% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->08.34% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->04.99% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->04.99% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->04.98% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->04.69% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->02.84% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->02.84% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->02.84% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->02.84% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->02.84% (694,108B) 0x17CBC8: {closure
| | | | | | ->02.84% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->02.84% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->02.84% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->02.84% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->02.84% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.85% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.85% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.85% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.85% (452,192B) 0x17CBC8: {closure
| | | | | ->01.85% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.85% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.85% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.85% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.85% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.30% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->03.35% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->03.35% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->03.35% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->03.35% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->03.35% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.35% (819,216B) 0x17CBC8: {closure
| | | | ->03.35% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.35% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.35% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->03.35% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.35% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->06.82% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->06.82% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->06.82% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->06.82% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->06.82% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->05.93% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->05.93% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->05.04% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->02.80% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.80% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.80% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.80% (685,264B) 0x17CBC8: {closure
| | | | ->02.80% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.80% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.80% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.80% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.80% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->02.24% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.24% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->02.24% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->02.24% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->02.24% (548,016B) 0x17CBC8: {closure
| | | ->02.24% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->02.24% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->02.24% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->02.24% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->02.24% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.89% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.89% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->07.92% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->07.92% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->07.92% (1,938,040B) 0x17CBC8: {closure
| ->07.92% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->07.92% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->07.92% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->07.92% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->07.92% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->06.60% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->06.60% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->06.60% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->06.60% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->06.60% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->06.60% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->06.60% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->06.60% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->06.60% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->06.60% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->06.60% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->06.60% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->06.60% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->06.60% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->06.60% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->03.65% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->03.65% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->03.65% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.84% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.84% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.84% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.80% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.21% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.21% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.21% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.21% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.21% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.21% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.21% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.21% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.21% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.21% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.60% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.04% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.81% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.81% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.21% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.21% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.21% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.21% (294,928B) 0x17CBC8: {closure
| | | | ->01.21% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.21% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.21% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.21% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.21% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.60% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.95% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->02.95% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->02.95% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->02.93% (715,760B) 0x149474: reindex (node.rs:92)
| | ->02.93% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.61% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.47% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.47% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.47% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.47% (359,952B) 0x17CBC8: {closure
| | | | ->01.47% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.47% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.47% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.47% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.47% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.13% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.13% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.13% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.13% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.13% (277,440B) 0x17CBC8: {closure
| | | ->01.13% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.13% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.13% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.13% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.13% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.32% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.02% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.91% (1,446,240B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.91% (1,446,240B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.91% (1,446,240B) 0x15FA39: alloc (alloc.rs:98)
| ->05.91% (1,446,240B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.91% (1,446,240B) 0x15FA39: allocate (alloc.rs:241)
| ->05.91% (1,446,240B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.91% (1,446,240B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.91% (1,446,240B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.91% (1,446,240B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.91% (1,446,240B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.91% (1,446,240B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.91% (1,446,240B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.91% (1,446,240B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.44% (1,329,912B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.44% (1,329,912B) 0x13502A: merge (clock.rs:64)
| | ->05.44% (1,329,912B) 0x13502A: {closure
| | ->05.44% (1,329,912B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.44% (1,329,912B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.44% (1,329,912B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.44% (1,329,912B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.44% (1,329,912B) 0x17D33D: {closure
| | ->05.44% (1,329,912B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.44% (1,329,912B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.44% (1,329,912B) 0x1218EC: am_repro::main (main.rs:12)
| | ->05.44% (1,329,912B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.44% (1,329,912B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.48% (116,328B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.98% (972,477B) in 74 places, all below massif's threshold (1.00%)
|
->02.58% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.58% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.58% (630,497B) 0x17CBC8: {closure
| ->02.58% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.58% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.58% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->02.58% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.58% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.96% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.96% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.96% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.96% (478,560B) 0x17CBC8: {closure
->01.96% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.96% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.96% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.96% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.96% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
36 564,105,107 24,729,184 24,376,538 352,646 0
37 584,246,654 25,796,344 25,427,490 368,854 0
98.57% (25,427,490B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->32.89% (8,483,560B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->32.89% (8,483,560B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->32.89% (8,483,560B) 0x15FB16: alloc (alloc.rs:98)
| ->32.89% (8,483,560B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->32.89% (8,483,560B) 0x15FB16: allocate (alloc.rs:241)
| ->32.89% (8,483,560B) 0x15FB16: {closure
| ->32.89% (8,483,560B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->32.89% (8,483,560B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->32.89% (8,483,560B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->32.22% (8,312,736B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->32.22% (8,312,736B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->32.22% (8,312,736B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->32.22% (8,312,736B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->32.22% (8,312,736B) 0x135154: merge (clock.rs:56)
| | ->32.22% (8,312,736B) 0x135154: {closure
| | ->32.22% (8,312,736B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->32.22% (8,312,736B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->32.22% (8,312,736B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->32.22% (8,312,736B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->32.22% (8,312,736B) 0x17D33D: {closure
| | ->32.22% (8,312,736B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->32.22% (8,312,736B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->32.22% (8,312,736B) 0x1218EC: am_repro::main (main.rs:12)
| | ->32.22% (8,312,736B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->32.22% (8,312,736B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.66% (170,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->23.56% (6,077,912B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->17.28% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->17.28% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->17.28% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->17.28% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->17.28% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->17.28% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->17.28% (4,456,448B) 0x17CBC8: {closure
| | | | ->17.28% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->17.28% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->17.28% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->17.28% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->17.28% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.50% (645,696B) in 16 places, all below massif's threshold (1.00%)
| |
| ->02.32% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->02.32% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->02.32% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->02.32% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->02.32% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->02.32% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->02.26% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.45% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.45% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.45% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.45% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.45% (374,784B) 0x17CBC8: {closure
| | | | ->01.45% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.45% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.45% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.45% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.45% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.81% (208,896B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.05% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.47% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.38% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.38% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.38% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.38% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.38% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.35% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.35% (348,120B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.03% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.09% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->14.37% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->14.37% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->14.37% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->14.37% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->14.37% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->14.37% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->14.37% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->14.37% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->14.37% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->14.37% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->14.37% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->14.37% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->07.90% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->07.90% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->07.90% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->07.90% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->07.90% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->04.73% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->04.73% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->04.72% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->04.44% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->02.69% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->02.69% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->02.69% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->02.69% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->02.69% (694,108B) 0x17CBC8: {closure
| | | | | | ->02.69% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->02.69% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->02.69% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->02.69% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->02.69% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.75% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.75% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.75% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.75% (452,192B) 0x17CBC8: {closure
| | | | | ->01.75% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.75% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.75% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.75% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.75% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.28% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->03.18% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->03.18% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->03.18% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->03.18% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->03.18% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.18% (819,216B) 0x17CBC8: {closure
| | | | ->03.18% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.18% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.18% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->03.18% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.18% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->06.47% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->06.47% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->06.47% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->06.47% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->06.47% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->05.62% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->05.62% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->04.78% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->02.66% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.66% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.66% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.66% (685,264B) 0x17CBC8: {closure
| | | | ->02.66% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.66% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.66% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.66% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.66% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->02.12% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->02.12% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->02.12% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->02.12% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->02.12% (548,016B) 0x17CBC8: {closure
| | | ->02.12% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->02.12% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->02.12% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->02.12% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->02.12% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.84% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.84% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->07.51% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->07.51% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->07.51% (1,938,040B) 0x17CBC8: {closure
| ->07.51% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->07.51% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->07.51% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->07.51% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->07.51% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->06.25% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->06.25% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->06.25% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->06.25% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->06.25% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->06.25% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->06.25% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->06.25% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->06.25% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->06.25% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->06.25% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->06.25% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->06.25% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->06.25% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->06.25% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->03.46% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->03.46% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->03.46% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.75% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.75% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.74% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.71% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.14% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.14% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.14% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.14% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.14% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.14% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.14% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.14% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.14% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.14% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.57% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.04% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.71% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.71% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.14% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.14% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.14% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.14% (294,928B) 0x17CBC8: {closure
| | | | ->01.14% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.14% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.14% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.14% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.14% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.57% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.79% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->02.79% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->02.79% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->02.77% (715,760B) 0x149474: reindex (node.rs:92)
| | ->02.77% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.47% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.40% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.40% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.40% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.40% (359,952B) 0x17CBC8: {closure
| | | | ->01.40% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.40% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.40% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.40% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.40% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.08% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.08% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.08% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.08% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.08% (277,440B) 0x17CBC8: {closure
| | | ->01.08% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.08% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.08% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.08% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.08% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.30% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.02% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.87% (1,514,360B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.87% (1,514,360B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.87% (1,514,360B) 0x15FA39: alloc (alloc.rs:98)
| ->05.87% (1,514,360B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.87% (1,514,360B) 0x15FA39: allocate (alloc.rs:241)
| ->05.87% (1,514,360B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.87% (1,514,360B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.87% (1,514,360B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.87% (1,514,360B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.87% (1,514,360B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.87% (1,514,360B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.87% (1,514,360B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.87% (1,514,360B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.39% (1,389,648B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.39% (1,389,648B) 0x13502A: merge (clock.rs:64)
| | ->05.39% (1,389,648B) 0x13502A: {closure
| | ->05.39% (1,389,648B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.39% (1,389,648B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.39% (1,389,648B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.39% (1,389,648B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.39% (1,389,648B) 0x17D33D: {closure
| | ->05.39% (1,389,648B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.39% (1,389,648B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.39% (1,389,648B) 0x1218EC: am_repro::main (main.rs:12)
| | ->05.39% (1,389,648B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.39% (1,389,648B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.48% (124,712B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.81% (983,829B) in 74 places, all below massif's threshold (1.00%)
|
->02.44% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.44% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.44% (630,497B) 0x17CBC8: {closure
| ->02.44% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.44% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.44% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->02.44% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.44% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.86% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.86% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.86% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.86% (478,560B) 0x17CBC8: {closure
->01.86% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.86% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.86% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.86% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.86% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
38 606,989,925 26,277,248 25,900,722 376,526 0
39 623,867,868 27,630,608 27,233,394 397,214 0
98.56% (27,233,394B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->35.69% (9,862,728B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->35.69% (9,862,728B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->35.69% (9,862,728B) 0x15FB16: alloc (alloc.rs:98)
| ->35.69% (9,862,728B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->35.69% (9,862,728B) 0x15FB16: allocate (alloc.rs:241)
| ->35.69% (9,862,728B) 0x15FB16: {closure
| ->35.69% (9,862,728B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->35.69% (9,862,728B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->35.69% (9,862,728B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->35.05% (9,683,520B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->35.05% (9,683,520B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->35.05% (9,683,520B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->35.05% (9,683,520B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->35.05% (9,683,520B) 0x135154: merge (clock.rs:56)
| | ->35.05% (9,683,520B) 0x135154: {closure
| | ->35.05% (9,683,520B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->35.05% (9,683,520B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->35.05% (9,683,520B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->35.05% (9,683,520B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->35.05% (9,683,520B) 0x17D33D: {closure
| | ->35.05% (9,683,520B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->35.05% (9,683,520B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->35.05% (9,683,520B) 0x1218EC: am_repro::main (main.rs:12)
| | ->35.05% (9,683,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->35.05% (9,683,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.65% (179,208B) in 1+ places, all below ms_print's threshold (01.00%)
|
->22.00% (6,077,976B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->16.13% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->16.13% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->16.13% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->16.13% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->16.13% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->16.13% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->16.13% (4,456,448B) 0x17CBC8: {closure
| | | | ->16.13% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->16.13% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->16.13% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->16.13% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->16.13% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.34% (645,760B) in 16 places, all below massif's threshold (1.00%)
| |
| ->02.16% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->02.16% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->02.16% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->02.16% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->02.16% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->02.16% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->02.11% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.36% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.36% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.36% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.36% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.36% (374,784B) 0x17CBC8: {closure
| | | | ->01.36% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.36% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.36% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.36% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.36% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.76% (208,896B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.05% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.37% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.29% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.29% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.29% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.29% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.29% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.26% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.26% (348,120B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.03% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.08% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->13.42% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->13.42% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->13.42% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->13.42% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->13.42% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->13.42% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->13.42% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->13.42% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->13.42% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->13.42% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->13.42% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->13.42% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->07.38% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->07.38% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->07.38% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->07.38% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->07.38% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->04.41% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->04.41% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->04.41% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->04.15% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->02.51% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->02.51% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->02.51% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->02.51% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->02.51% (694,108B) 0x17CBC8: {closure
| | | | | | ->02.51% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->02.51% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->02.51% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->02.51% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->02.51% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.64% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.64% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.64% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.64% (452,192B) 0x17CBC8: {closure
| | | | | ->01.64% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.64% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.64% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.64% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.64% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.26% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.96% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.96% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.96% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.96% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.96% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.96% (819,216B) 0x17CBC8: {closure
| | | | ->02.96% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.96% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.96% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.96% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.96% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->06.04% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->06.04% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->06.04% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->06.04% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->06.04% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->05.25% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->05.25% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->04.46% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->02.48% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.48% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.48% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.48% (685,264B) 0x17CBC8: {closure
| | | | ->02.48% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.48% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.48% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.48% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.48% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.98% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.98% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.98% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.98% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.98% (548,016B) 0x17CBC8: {closure
| | | ->01.98% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.98% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.98% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.98% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.98% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.79% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.79% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->07.01% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->07.01% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->07.01% (1,938,040B) 0x17CBC8: {closure
| ->07.01% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->07.01% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->07.01% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->07.01% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->07.01% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->06.93% (1,913,648B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->06.93% (1,913,648B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->06.93% (1,913,648B) 0x15FA39: alloc (alloc.rs:98)
| ->06.93% (1,913,648B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->06.93% (1,913,648B) 0x15FA39: allocate (alloc.rs:241)
| ->06.93% (1,913,648B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->06.93% (1,913,648B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->06.93% (1,913,648B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->06.93% (1,913,648B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->06.93% (1,913,648B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->06.93% (1,913,648B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->06.93% (1,913,648B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->06.93% (1,913,648B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->06.43% (1,776,360B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->06.43% (1,776,360B) 0x13502A: merge (clock.rs:64)
| | ->06.43% (1,776,360B) 0x13502A: {closure
| | ->06.43% (1,776,360B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->06.43% (1,776,360B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->06.43% (1,776,360B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->06.43% (1,776,360B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->06.43% (1,776,360B) 0x17D33D: {closure
| | ->06.43% (1,776,360B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->06.43% (1,776,360B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->06.43% (1,776,360B) 0x1218EC: am_repro::main (main.rs:12)
| | ->06.43% (1,776,360B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->06.43% (1,776,360B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.50% (137,288B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.84% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.84% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.84% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->05.84% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->05.84% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->05.84% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->05.84% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->05.84% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->05.84% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->05.84% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->05.84% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->05.84% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.84% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->05.84% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->05.84% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->03.23% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->03.23% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->03.23% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.63% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.63% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.63% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.60% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.07% (294,880B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.07% (294,880B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.07% (294,880B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.07% (294,880B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.07% (294,880B) 0x17CBC8: {closure
| | | | | | ->01.07% (294,880B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.07% (294,880B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.07% (294,880B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.07% (294,880B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.07% (294,880B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.53% (145,920B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.03% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.60% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.60% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.07% (294,928B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.07% (294,928B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.07% (294,928B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.07% (294,928B) 0x17CBC8: {closure
| | | | ->01.07% (294,928B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.07% (294,928B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.07% (294,928B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.07% (294,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.07% (294,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.53% (147,472B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.61% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->02.61% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->02.61% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->02.59% (715,760B) 0x149474: reindex (node.rs:92)
| | ->02.59% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.31% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.30% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.30% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.30% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.30% (359,952B) 0x17CBC8: {closure
| | | | ->01.30% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.30% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.30% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.30% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.30% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.00% (277,440B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.00% (277,440B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.00% (277,440B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.00% (277,440B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.00% (277,440B) 0x17CBC8: {closure
| | | ->01.00% (277,440B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.00% (277,440B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.00% (277,440B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.00% (277,440B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.00% (277,440B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.28% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.02% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.66% (1,011,213B) in 74 places, all below massif's threshold (1.00%)
|
->02.28% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.28% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.28% (630,497B) 0x17CBC8: {closure
| ->02.28% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.28% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.28% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->02.28% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.28% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.73% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.73% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.73% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.73% (478,560B) 0x17CBC8: {closure
->01.73% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.73% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.73% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.73% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.73% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
40 643,183,320 30,128,776 29,693,786 434,990 0
98.56% (29,693,786B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->38.95% (11,735,504B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->38.95% (11,735,504B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->38.95% (11,735,504B) 0x15FB16: alloc (alloc.rs:98)
| ->38.95% (11,735,504B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->38.95% (11,735,504B) 0x15FB16: allocate (alloc.rs:241)
| ->38.95% (11,735,504B) 0x15FB16: {closure
| ->38.95% (11,735,504B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->38.95% (11,735,504B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->38.95% (11,735,504B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->38.32% (11,545,816B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->38.32% (11,545,816B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->38.32% (11,545,816B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->38.32% (11,545,816B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->38.32% (11,545,816B) 0x135154: merge (clock.rs:56)
| | ->38.32% (11,545,816B) 0x135154: {closure
| | ->38.32% (11,545,816B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->38.32% (11,545,816B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->38.32% (11,545,816B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->38.32% (11,545,816B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->38.32% (11,545,816B) 0x17D33D: {closure
| | ->38.32% (11,545,816B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->38.32% (11,545,816B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->38.32% (11,545,816B) 0x1218EC: am_repro::main (main.rs:12)
| | ->38.32% (11,545,816B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->38.32% (11,545,816B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.63% (189,688B) in 1+ places, all below ms_print's threshold (01.00%)
|
->20.34% (6,127,448B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->14.79% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->14.79% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->14.79% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->14.79% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->14.79% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->14.79% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->14.79% (4,456,448B) 0x17CBC8: {closure
| | | | ->14.79% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->14.79% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->14.79% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->14.79% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->14.79% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.31% (695,232B) in 16 places, all below massif's threshold (1.00%)
| |
| ->01.98% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->01.98% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.98% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->01.98% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->01.98% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->01.98% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.94% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.24% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.24% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.24% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.24% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.24% (374,784B) 0x17CBC8: {closure
| | | | ->01.24% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.24% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.24% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.24% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.24% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.69% (208,896B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.05% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.26% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.18% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.18% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.18% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.18% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.18% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.16% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.16% (348,120B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.02% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.08% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->12.31% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->12.31% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->12.31% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->12.31% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->12.31% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->12.31% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->12.31% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->12.31% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->12.31% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->12.31% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->12.31% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->12.31% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->06.77% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->06.77% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->06.77% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->06.77% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->06.77% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->04.05% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->04.05% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->04.05% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->03.80% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->02.30% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->02.30% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->02.30% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->02.30% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->02.30% (694,108B) 0x17CBC8: {closure
| | | | | | ->02.30% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->02.30% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->02.30% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->02.30% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->02.30% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.50% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.50% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.50% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.50% (452,192B) 0x17CBC8: {closure
| | | | | ->01.50% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.50% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.50% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.50% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.50% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.24% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.72% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.72% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.72% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.72% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.72% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.72% (819,216B) 0x17CBC8: {closure
| | | | ->02.72% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.72% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.72% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.72% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.72% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->05.54% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->05.54% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->05.54% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->05.54% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->05.54% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->04.82% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->04.82% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->04.09% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->02.27% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.27% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.27% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.27% (685,264B) 0x17CBC8: {closure
| | | | ->02.27% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.27% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.27% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.27% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.27% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.82% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.82% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.82% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.82% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.82% (548,016B) 0x17CBC8: {closure
| | | ->01.82% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.82% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.82% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.82% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.82% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.72% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.72% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.06% (2,428,216B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.06% (2,428,216B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.06% (2,428,216B) 0x15FA39: alloc (alloc.rs:98)
| ->08.06% (2,428,216B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->08.06% (2,428,216B) 0x15FA39: allocate (alloc.rs:241)
| ->08.06% (2,428,216B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->08.06% (2,428,216B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->08.06% (2,428,216B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->08.06% (2,428,216B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->08.06% (2,428,216B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->08.06% (2,428,216B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->08.06% (2,428,216B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->08.06% (2,428,216B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->07.54% (2,272,064B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->07.54% (2,272,064B) 0x13502A: merge (clock.rs:64)
| | ->07.54% (2,272,064B) 0x13502A: {closure
| | ->07.54% (2,272,064B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->07.54% (2,272,064B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->07.54% (2,272,064B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->07.54% (2,272,064B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->07.54% (2,272,064B) 0x17D33D: {closure
| | ->07.54% (2,272,064B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->07.54% (2,272,064B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->07.54% (2,272,064B) 0x1218EC: am_repro::main (main.rs:12)
| | ->07.54% (2,272,064B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->07.54% (2,272,064B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.52% (156,152B) in 1+ places, all below ms_print's threshold (01.00%)
|
->06.43% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->06.43% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->06.43% (1,938,040B) 0x17CBC8: {closure
| ->06.43% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->06.43% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->06.43% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->06.43% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->06.43% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->05.35% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.35% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.35% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->05.35% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->05.35% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->05.35% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->05.35% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->05.35% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->05.35% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->05.35% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->05.35% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->05.35% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.35% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->05.35% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->05.35% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.96% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.96% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.96% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.49% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.49% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.49% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.46% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.46% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.03% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.47% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.47% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.47% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.39% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->02.39% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->02.39% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->02.38% (715,760B) 0x149474: reindex (node.rs:92)
| | ->02.38% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.12% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.19% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.19% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.19% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.19% (359,952B) 0x17CBC8: {closure
| | | | ->01.19% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.19% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.19% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.19% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.19% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.92% (277,440B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.26% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.02% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.43% (1,034,789B) in 74 places, all below massif's threshold (1.00%)
|
->02.09% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.09% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.09% (630,497B) 0x17CBC8: {closure
| ->02.09% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.09% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.09% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->02.09% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.09% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.59% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.59% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.59% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.59% (478,560B) 0x17CBC8: {closure
->01.59% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.59% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.59% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.59% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.59% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
41 660,703,808 32,417,856 31,947,674 470,182 0
98.55% (31,947,674B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->41.52% (13,460,512B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->41.52% (13,460,512B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->41.52% (13,460,512B) 0x15FB16: alloc (alloc.rs:98)
| ->41.52% (13,460,512B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->41.52% (13,460,512B) 0x15FB16: allocate (alloc.rs:241)
| ->41.52% (13,460,512B) 0x15FB16: {closure
| ->41.52% (13,460,512B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->41.52% (13,460,512B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->41.52% (13,460,512B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->40.92% (13,265,584B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->40.92% (13,265,584B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->40.92% (13,265,584B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->40.92% (13,265,584B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->40.92% (13,265,584B) 0x135154: merge (clock.rs:56)
| | ->40.92% (13,265,584B) 0x135154: {closure
| | ->40.92% (13,265,584B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->40.92% (13,265,584B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->40.92% (13,265,584B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->40.92% (13,265,584B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->40.92% (13,265,584B) 0x17D33D: {closure
| | ->40.92% (13,265,584B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->40.92% (13,265,584B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->40.92% (13,265,584B) 0x1218EC: am_repro::main (main.rs:12)
| | ->40.92% (13,265,584B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->40.92% (13,265,584B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.60% (194,928B) in 1+ places, all below ms_print's threshold (01.00%)
|
->18.90% (6,127,576B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->13.75% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->13.75% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->13.75% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->13.75% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->13.75% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->13.75% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->13.75% (4,456,448B) 0x17CBC8: {closure
| | | | ->13.75% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->13.75% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->13.75% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->13.75% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->13.75% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.14% (695,360B) in 16 places, all below massif's threshold (1.00%)
| |
| ->01.84% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->01.84% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.84% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->01.84% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->01.84% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->01.84% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.80% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.16% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.16% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.16% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.16% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.16% (374,784B) 0x17CBC8: {closure
| | | | ->01.16% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.16% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.16% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.16% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.16% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.64% (208,896B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.04% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.17% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.10% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.10% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.10% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.10% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.10% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.07% (348,120B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.07% (348,120B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.02% (7,200B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.07% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->11.44% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->11.44% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->11.44% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->11.44% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->11.44% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->11.44% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->11.44% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->11.44% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->11.44% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->11.44% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->11.44% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->11.44% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->06.29% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->06.29% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->06.29% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->06.29% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->06.29% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->03.76% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->03.76% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.76% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->03.54% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->02.14% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->02.14% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->02.14% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->02.14% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->02.14% (694,108B) 0x17CBC8: {closure
| | | | | | ->02.14% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->02.14% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->02.14% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->02.14% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->02.14% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.39% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.39% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.39% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.39% (452,192B) 0x17CBC8: {closure
| | | | | ->01.39% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.39% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.39% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.39% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.39% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.22% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.53% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.53% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.53% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.53% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.53% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.53% (819,216B) 0x17CBC8: {closure
| | | | ->02.53% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.53% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.53% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.53% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.53% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->05.15% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->05.15% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->05.15% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->05.15% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->05.15% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->04.48% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->04.48% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.80% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->02.11% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.11% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.11% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.11% (685,264B) 0x17CBC8: {closure
| | | | ->02.11% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.11% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.11% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.11% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.11% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.69% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.69% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.69% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.69% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.69% (548,016B) 0x17CBC8: {closure
| | | ->01.69% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.69% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.69% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.69% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.69% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.67% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.67% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.06% (2,937,544B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.06% (2,937,544B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.06% (2,937,544B) 0x15FA39: alloc (alloc.rs:98)
| ->09.06% (2,937,544B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->09.06% (2,937,544B) 0x15FA39: allocate (alloc.rs:241)
| ->09.06% (2,937,544B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->09.06% (2,937,544B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->09.06% (2,937,544B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->09.06% (2,937,544B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->09.06% (2,937,544B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->09.06% (2,937,544B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->09.06% (2,937,544B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->09.06% (2,937,544B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->08.53% (2,765,672B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->08.53% (2,765,672B) 0x13502A: merge (clock.rs:64)
| | ->08.53% (2,765,672B) 0x13502A: {closure
| | ->08.53% (2,765,672B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->08.53% (2,765,672B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->08.53% (2,765,672B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->08.53% (2,765,672B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->08.53% (2,765,672B) 0x17D33D: {closure
| | ->08.53% (2,765,672B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->08.53% (2,765,672B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->08.53% (2,765,672B) 0x1218EC: am_repro::main (main.rs:12)
| | ->08.53% (2,765,672B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->08.53% (2,765,672B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.53% (171,872B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.98% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->05.98% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->05.98% (1,938,040B) 0x17CBC8: {closure
| ->05.98% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->05.98% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->05.98% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->05.98% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->05.98% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->04.98% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.98% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.98% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->04.98% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->04.98% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->04.98% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.98% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.98% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.98% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.98% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.98% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.98% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.98% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.98% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->04.98% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.75% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.75% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.75% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.39% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.39% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.39% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.36% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.36% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.03% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.36% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.36% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.36% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.22% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->02.22% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->02.22% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->02.21% (715,760B) 0x149474: reindex (node.rs:92)
| | ->02.21% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.97% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.11% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.11% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.11% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.11% (359,952B) 0x17CBC8: {closure
| | | | ->01.11% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.11% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.11% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.11% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.11% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.86% (277,440B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.24% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.25% (1,054,213B) in 74 places, all below massif's threshold (1.00%)
|
->01.94% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.94% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.94% (630,497B) 0x17CBC8: {closure
| ->01.94% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.94% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.94% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.94% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.94% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.48% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.48% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.48% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.48% (478,560B) 0x17CBC8: {closure
->01.48% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.48% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.48% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.48% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.48% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
42 671,605,190 33,108,344 32,627,386 480,958 0
43 695,648,525 34,245,672 33,747,122 498,550 0
44 713,776,175 35,488,376 34,971,074 517,302 0
98.54% (34,971,074B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->46.00% (16,325,744B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->46.00% (16,325,744B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->46.00% (16,325,744B) 0x15FB16: alloc (alloc.rs:98)
| ->46.00% (16,325,744B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->46.00% (16,325,744B) 0x15FB16: allocate (alloc.rs:241)
| ->46.00% (16,325,744B) 0x15FB16: {closure
| ->46.00% (16,325,744B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->46.00% (16,325,744B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->46.00% (16,325,744B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->45.42% (16,120,336B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->45.42% (16,120,336B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->45.42% (16,120,336B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->45.42% (16,120,336B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->45.42% (16,120,336B) 0x135154: merge (clock.rs:56)
| | ->45.42% (16,120,336B) 0x135154: {closure
| | ->45.42% (16,120,336B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->45.42% (16,120,336B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->45.42% (16,120,336B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->45.42% (16,120,336B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->45.42% (16,120,336B) 0x17D33D: {closure
| | ->45.42% (16,120,336B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->45.42% (16,120,336B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->45.42% (16,120,336B) 0x1218EC: am_repro::main (main.rs:12)
| | ->45.42% (16,120,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->45.42% (16,120,336B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.58% (205,408B) in 1+ places, all below ms_print's threshold (01.00%)
|
->17.27% (6,127,832B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->12.56% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->12.56% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->12.56% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->12.56% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->12.56% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->12.56% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->12.56% (4,456,448B) 0x17CBC8: {closure
| | | | ->12.56% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->12.56% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->12.56% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->12.56% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->12.56% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.96% (695,616B) in 16 places, all below massif's threshold (1.00%)
| |
| ->01.68% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->01.68% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.68% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->01.68% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->01.68% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->01.68% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.64% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.06% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.06% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.06% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.06% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.06% (374,784B) 0x17CBC8: {closure
| | | | ->01.06% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.06% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.06% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.06% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.06% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.59% (208,896B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.04% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.07% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.00% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.00% (355,448B) 0x148F54: reserve<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:911)
| | ->01.00% (355,448B) 0x148F54: insert<automerge::op_set::op::OpIdx, alloc::alloc::Global> (mod.rs:1507)
| | ->01.00% (355,448B) 0x148F54: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:170)
| | ->01.00% (355,320B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.00% (355,320B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (128B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.06% (22,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.45% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->10.45% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->10.45% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->10.45% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->10.45% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->10.45% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->10.45% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->10.45% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->10.45% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->10.45% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->10.45% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->10.45% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.75% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->05.75% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->05.75% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->05.75% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->05.75% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->03.44% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->03.44% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.43% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->03.23% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.96% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.96% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.96% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.96% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.96% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.96% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.96% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.96% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.96% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.96% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.27% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.27% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.27% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.27% (452,192B) 0x17CBC8: {closure
| | | | | ->01.27% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.27% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.27% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.27% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.27% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.20% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.31% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.31% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.31% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.31% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.31% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.31% (819,216B) 0x17CBC8: {closure
| | | | ->02.31% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.31% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.31% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.31% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.31% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.70% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.70% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.70% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.70% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.70% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->04.09% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->04.09% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.48% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.93% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.93% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.93% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.93% (685,264B) 0x17CBC8: {closure
| | | | ->01.93% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.93% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.93% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.93% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.93% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.54% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.54% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.54% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.54% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.54% (548,016B) 0x17CBC8: {closure
| | | ->01.54% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.54% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.54% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.54% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.54% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.61% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.61% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.67% (3,075,880B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.67% (3,075,880B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.67% (3,075,880B) 0x15FA39: alloc (alloc.rs:98)
| ->08.67% (3,075,880B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->08.67% (3,075,880B) 0x15FA39: allocate (alloc.rs:241)
| ->08.67% (3,075,880B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->08.67% (3,075,880B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->08.67% (3,075,880B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->08.67% (3,075,880B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->08.67% (3,075,880B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->08.67% (3,075,880B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->08.67% (3,075,880B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->08.67% (3,075,880B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->08.12% (2,879,904B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->08.12% (2,879,904B) 0x13502A: merge (clock.rs:64)
| | ->08.12% (2,879,904B) 0x13502A: {closure
| | ->08.12% (2,879,904B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->08.12% (2,879,904B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->08.12% (2,879,904B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->08.12% (2,879,904B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->08.12% (2,879,904B) 0x17D33D: {closure
| | ->08.12% (2,879,904B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->08.12% (2,879,904B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->08.12% (2,879,904B) 0x1218EC: am_repro::main (main.rs:12)
| | ->08.12% (2,879,904B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->08.12% (2,879,904B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.55% (195,976B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.46% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->05.46% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->05.46% (1,938,040B) 0x17CBC8: {closure
| ->05.46% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->05.46% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->05.46% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->05.46% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->05.46% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->04.55% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.55% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.55% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->04.55% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->04.55% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->04.55% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.55% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.55% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.55% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.55% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.55% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.55% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.55% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.55% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->04.55% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.52% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.52% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.52% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.27% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.27% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.27% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.24% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.24% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.03% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.25% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.25% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.25% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.03% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->02.03% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->02.03% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->02.02% (715,760B) 0x149474: reindex (node.rs:92)
| | ->02.02% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.80% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.01% (359,952B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.01% (359,952B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.01% (359,952B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.01% (359,952B) 0x17CBC8: {closure
| | | | ->01.01% (359,952B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.01% (359,952B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.01% (359,952B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.01% (359,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.01% (359,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.78% (277,440B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.22% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.03% (1,073,789B) in 74 places, all below massif's threshold (1.00%)
|
->01.78% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.78% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.78% (630,497B) 0x17CBC8: {closure
| ->01.78% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.78% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.78% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.78% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.78% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.35% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.35% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.35% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.35% (478,560B) 0x17CBC8: {closure
->01.35% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.35% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.35% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.35% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.35% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
45 725,470,438 35,344,712 34,829,050 515,662 0
46 740,078,807 35,851,000 35,327,482 523,518 0
47 762,704,481 37,174,784 36,631,586 543,198 0
98.54% (36,631,586B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->48.17% (17,908,224B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->48.17% (17,908,224B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->48.17% (17,908,224B) 0x15FB16: alloc (alloc.rs:98)
| ->48.17% (17,908,224B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->48.17% (17,908,224B) 0x15FB16: allocate (alloc.rs:241)
| ->48.17% (17,908,224B) 0x15FB16: {closure
| ->48.17% (17,908,224B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->48.17% (17,908,224B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->48.17% (17,908,224B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->47.61% (17,698,624B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->47.61% (17,698,624B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->47.61% (17,698,624B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->47.61% (17,698,624B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->47.61% (17,698,624B) 0x135154: merge (clock.rs:56)
| | ->47.61% (17,698,624B) 0x135154: {closure
| | ->47.61% (17,698,624B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->47.61% (17,698,624B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->47.61% (17,698,624B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->47.61% (17,698,624B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->47.61% (17,698,624B) 0x17D33D: {closure
| | ->47.61% (17,698,624B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->47.61% (17,698,624B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->47.61% (17,698,624B) 0x1218EC: am_repro::main (main.rs:12)
| | ->47.61% (17,698,624B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->47.61% (17,698,624B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.56% (209,600B) in 1+ places, all below ms_print's threshold (01.00%)
|
->16.48% (6,128,152B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->11.99% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->11.99% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->11.99% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->11.99% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->11.99% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->11.99% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->11.99% (4,456,448B) 0x17CBC8: {closure
| | | | ->11.99% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->11.99% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->11.99% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->11.99% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->11.99% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.87% (695,936B) in 16 places, all below massif's threshold (1.00%)
| |
| ->01.61% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->01.61% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.61% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->01.61% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->01.61% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->01.61% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.57% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.01% (374,784B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.01% (374,784B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.01% (374,784B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.01% (374,784B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.01% (374,784B) 0x17CBC8: {closure
| | | | ->01.01% (374,784B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.01% (374,784B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.01% (374,784B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.01% (374,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.01% (374,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.56% (208,896B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.04% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.02% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.02% (378,264B) in 2 places, all below massif's threshold (1.00%)
|
->09.97% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.97% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.97% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->09.97% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->09.97% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->09.97% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.97% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.97% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.97% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.97% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.97% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.97% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.48% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->05.48% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->05.48% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->05.48% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->05.48% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->03.28% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->03.28% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.28% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->03.08% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.87% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.87% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.87% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.87% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.87% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.87% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.87% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.87% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.87% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.87% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.22% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.22% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.22% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.22% (452,192B) 0x17CBC8: {closure
| | | | | ->01.22% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.22% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.22% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.22% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.22% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.20% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.20% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.20% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.20% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.20% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.20% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.20% (819,216B) 0x17CBC8: {closure
| | | | ->02.20% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.20% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.20% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.20% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.20% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.49% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.49% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.49% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.49% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.49% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.90% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.90% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.32% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.84% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.84% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.84% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.84% (685,264B) 0x17CBC8: {closure
| | | | ->01.84% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.84% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.84% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.84% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.84% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.47% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.47% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.47% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.47% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.47% (548,016B) 0x17CBC8: {closure
| | | ->01.47% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.47% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.47% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.47% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.47% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.59% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.59% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.47% (3,147,144B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.47% (3,147,144B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.47% (3,147,144B) 0x15FA39: alloc (alloc.rs:98)
| ->08.47% (3,147,144B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->08.47% (3,147,144B) 0x15FA39: allocate (alloc.rs:241)
| ->08.47% (3,147,144B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->08.47% (3,147,144B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->08.47% (3,147,144B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->08.47% (3,147,144B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->08.47% (3,147,144B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->08.47% (3,147,144B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->08.47% (3,147,144B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->08.47% (3,147,144B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->07.91% (2,939,640B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->07.91% (2,939,640B) 0x13502A: merge (clock.rs:64)
| | ->07.91% (2,939,640B) 0x13502A: {closure
| | ->07.91% (2,939,640B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->07.91% (2,939,640B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->07.91% (2,939,640B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->07.91% (2,939,640B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->07.91% (2,939,640B) 0x17D33D: {closure
| | ->07.91% (2,939,640B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->07.91% (2,939,640B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->07.91% (2,939,640B) 0x1218EC: am_repro::main (main.rs:12)
| | ->07.91% (2,939,640B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->07.91% (2,939,640B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.56% (207,504B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.21% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->05.21% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->05.21% (1,938,040B) 0x17CBC8: {closure
| ->05.21% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->05.21% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->05.21% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->05.21% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->05.21% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->04.34% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.34% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.34% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->04.34% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->04.34% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->04.34% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.34% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.34% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.34% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.34% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.34% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.34% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.34% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.34% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->04.34% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.40% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.40% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.40% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.21% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.21% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.21% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.19% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.19% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.19% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.19% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.19% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.94% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.94% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.94% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.93% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.93% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.71% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.71% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.21% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.91% (1,080,237B) in 74 places, all below massif's threshold (1.00%)
|
->01.70% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.70% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.70% (630,497B) 0x17CBC8: {closure
| ->01.70% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.70% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.70% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.70% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.70% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.29% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.29% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.29% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.29% (478,560B) 0x17CBC8: {closure
->01.29% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.29% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.29% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.29% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.29% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
48 782,746,632 37,746,424 37,194,458 551,966 0
98.54% (37,194,458B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->48.85% (18,439,560B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->48.85% (18,439,560B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->48.85% (18,439,560B) 0x15FB16: alloc (alloc.rs:98)
| ->48.85% (18,439,560B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->48.85% (18,439,560B) 0x15FB16: allocate (alloc.rs:241)
| ->48.85% (18,439,560B) 0x15FB16: {closure
| ->48.85% (18,439,560B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->48.85% (18,439,560B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->48.85% (18,439,560B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->48.29% (18,227,864B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->48.29% (18,227,864B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->48.29% (18,227,864B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->48.29% (18,227,864B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->48.29% (18,227,864B) 0x135154: merge (clock.rs:56)
| | ->48.29% (18,227,864B) 0x135154: {closure
| | ->48.29% (18,227,864B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->48.29% (18,227,864B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->48.29% (18,227,864B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->48.29% (18,227,864B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->48.29% (18,227,864B) 0x17D33D: {closure
| | ->48.29% (18,227,864B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->48.29% (18,227,864B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->48.29% (18,227,864B) 0x1218EC: am_repro::main (main.rs:12)
| | ->48.29% (18,227,864B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->48.29% (18,227,864B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.56% (211,696B) in 1+ places, all below ms_print's threshold (01.00%)
|
->16.24% (6,128,152B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->11.81% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->11.81% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->11.81% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->11.81% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->11.81% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->11.81% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->11.81% (4,456,448B) 0x17CBC8: {closure
| | | | ->11.81% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->11.81% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->11.81% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->11.81% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->11.81% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.84% (695,936B) in 16 places, all below massif's threshold (1.00%)
| |
| ->01.58% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| | ->01.58% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| | ->01.58% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| | ->01.58% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| | ->01.58% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| | ->01.58% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | ->01.55% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.55% (583,680B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.04% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.00% (378,264B) 0x11589F: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.00% (378,264B) in 2 places, all below massif's threshold (1.00%)
|
->09.82% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.82% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.82% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->09.82% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->09.82% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->09.82% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.82% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.82% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.82% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.82% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.82% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.82% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.40% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->05.40% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->05.40% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->05.40% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->05.40% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->03.23% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->03.23% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.23% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->03.04% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.84% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.84% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.84% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.84% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.84% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.84% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.84% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.84% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.84% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.84% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.20% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.20% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.20% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.20% (452,192B) 0x17CBC8: {closure
| | | | | ->01.20% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.20% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.20% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.20% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.20% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.19% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.17% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.17% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.17% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.17% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.17% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.17% (819,216B) 0x17CBC8: {closure
| | | | ->02.17% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.17% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.17% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.17% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.17% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.42% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.42% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.42% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.42% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.42% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.84% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.84% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.27% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.82% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.82% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.82% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.82% (685,264B) 0x17CBC8: {closure
| | | | ->01.82% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.82% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.82% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.82% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.82% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.45% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.45% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.45% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.45% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.45% (548,016B) 0x17CBC8: {closure
| | | ->01.45% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.45% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.45% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.45% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.45% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.58% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.58% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.42% (3,178,584B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.42% (3,178,584B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.42% (3,178,584B) 0x15FA39: alloc (alloc.rs:98)
| ->08.42% (3,178,584B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->08.42% (3,178,584B) 0x15FA39: allocate (alloc.rs:241)
| ->08.42% (3,178,584B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->08.42% (3,178,584B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->08.42% (3,178,584B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->08.42% (3,178,584B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->08.42% (3,178,584B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->08.42% (3,178,584B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->08.42% (3,178,584B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->08.42% (3,178,584B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->07.86% (2,966,888B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->07.86% (2,966,888B) 0x13502A: merge (clock.rs:64)
| | ->07.86% (2,966,888B) 0x13502A: {closure
| | ->07.86% (2,966,888B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->07.86% (2,966,888B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->07.86% (2,966,888B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->07.86% (2,966,888B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->07.86% (2,966,888B) 0x17D33D: {closure
| | ->07.86% (2,966,888B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->07.86% (2,966,888B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->07.86% (2,966,888B) 0x1218EC: am_repro::main (main.rs:12)
| | ->07.86% (2,966,888B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->07.86% (2,966,888B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.56% (211,696B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.13% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->05.13% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->05.13% (1,938,040B) 0x17CBC8: {closure
| ->05.13% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->05.13% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->05.13% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->05.13% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->05.13% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->04.27% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.27% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.27% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->04.27% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->04.27% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->04.27% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.27% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.27% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.27% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.27% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.27% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.27% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.27% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.27% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->04.27% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.37% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.37% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.37% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.19% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.19% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.19% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.17% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.17% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.17% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.17% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.17% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.91% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.91% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.91% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.90% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.90% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.69% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.69% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.21% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.86% (1,080,333B) in 74 places, all below massif's threshold (1.00%)
|
->01.67% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.67% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.67% (630,497B) 0x17CBC8: {closure
| ->01.67% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.67% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.67% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.67% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.67% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.27% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.27% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.27% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.27% (478,560B) 0x17CBC8: {closure
->01.27% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.27% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.27% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.27% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.27% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
49 788,592,703 37,559,264 37,009,770 549,494 0
50 798,208,200 37,587,584 37,037,338 550,246 0
51 804,585,420 38,346,920 37,785,842 561,078 0
98.54% (37,785,842B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->49.59% (19,017,008B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->49.59% (19,017,008B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->49.59% (19,017,008B) 0x15FB16: alloc (alloc.rs:98)
| ->49.59% (19,017,008B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->49.59% (19,017,008B) 0x15FB16: allocate (alloc.rs:241)
| ->49.59% (19,017,008B) 0x15FB16: {closure
| ->49.59% (19,017,008B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->49.59% (19,017,008B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->49.59% (19,017,008B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->49.05% (18,807,408B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->49.05% (18,807,408B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->49.05% (18,807,408B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->49.05% (18,807,408B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->49.05% (18,807,408B) 0x135154: merge (clock.rs:56)
| | ->49.05% (18,807,408B) 0x135154: {closure
| | ->49.05% (18,807,408B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->49.05% (18,807,408B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->49.05% (18,807,408B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->49.05% (18,807,408B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->49.05% (18,807,408B) 0x17D33D: {closure
| | ->49.05% (18,807,408B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->49.05% (18,807,408B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->49.05% (18,807,408B) 0x1218EC: am_repro::main (main.rs:12)
| | ->49.05% (18,807,408B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->49.05% (18,807,408B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.55% (209,600B) in 1+ places, all below ms_print's threshold (01.00%)
|
->15.98% (6,128,152B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->11.62% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->11.62% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->11.62% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->11.62% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->11.62% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->11.62% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->11.62% (4,456,448B) 0x17CBC8: {closure
| | | | ->11.62% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->11.62% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->11.62% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->11.62% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->11.62% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.80% (1,074,200B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.56% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.56% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.56% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.56% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.56% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.56% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.52% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.52% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.04% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.67% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.67% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.67% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->09.67% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->09.67% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->09.67% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.67% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.67% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.67% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.67% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.67% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.67% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.32% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->05.32% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->05.32% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->05.32% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->05.32% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->03.18% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->03.18% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.18% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.99% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.81% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.81% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.81% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.81% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.81% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.81% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.81% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.81% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.81% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.81% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.18% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.18% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.18% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.18% (452,192B) 0x17CBC8: {closure
| | | | | ->01.18% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.18% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.18% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.18% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.18% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.19% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.14% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.14% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.14% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.14% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.14% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.14% (819,216B) 0x17CBC8: {closure
| | | | ->02.14% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.14% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.14% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.14% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.14% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.35% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.35% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.35% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.35% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.35% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.78% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.78% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.22% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.79% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.79% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.79% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.79% (685,264B) 0x17CBC8: {closure
| | | | ->01.79% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.79% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.79% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.79% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.79% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.43% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.43% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.43% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.43% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.43% (548,016B) 0x17CBC8: {closure
| | | ->01.43% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.43% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.43% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.43% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.43% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.57% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.57% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.31% (3,188,016B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.31% (3,188,016B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.31% (3,188,016B) 0x15FA39: alloc (alloc.rs:98)
| ->08.31% (3,188,016B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->08.31% (3,188,016B) 0x15FA39: allocate (alloc.rs:241)
| ->08.31% (3,188,016B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->08.31% (3,188,016B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->08.31% (3,188,016B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->08.31% (3,188,016B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->08.31% (3,188,016B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->08.31% (3,188,016B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->08.31% (3,188,016B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->08.31% (3,188,016B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->07.75% (2,972,128B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->07.75% (2,972,128B) 0x13502A: merge (clock.rs:64)
| | ->07.75% (2,972,128B) 0x13502A: {closure
| | ->07.75% (2,972,128B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->07.75% (2,972,128B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->07.75% (2,972,128B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->07.75% (2,972,128B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->07.75% (2,972,128B) 0x17D33D: {closure
| | ->07.75% (2,972,128B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->07.75% (2,972,128B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->07.75% (2,972,128B) 0x1218EC: am_repro::main (main.rs:12)
| | ->07.75% (2,972,128B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->07.75% (2,972,128B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.56% (215,888B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.05% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->05.05% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->05.05% (1,938,040B) 0x17CBC8: {closure
| ->05.05% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->05.05% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->05.05% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->05.05% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->05.05% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->04.21% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.21% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.21% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->04.21% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->04.21% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->04.21% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.21% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.21% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.21% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.21% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.21% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.21% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.21% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.21% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->04.21% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.33% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.33% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.33% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.17% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.17% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.17% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.15% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.15% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.15% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.15% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.15% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.88% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.88% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.88% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.87% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.87% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.66% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.66% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.20% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.83% (1,084,837B) in 74 places, all below massif's threshold (1.00%)
|
->01.64% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.64% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.64% (630,497B) 0x17CBC8: {closure
| ->01.64% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.64% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.64% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.64% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.64% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.25% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.25% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.25% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.25% (478,560B) 0x17CBC8: {closure
->01.25% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.25% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.25% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.25% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.25% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
52 814,201,989 38,345,792 37,784,194 561,598 0
53 823,816,786 38,284,736 37,723,730 561,006 0
54 828,414,428 38,946,128 38,375,874 570,254 0
98.54% (38,375,874B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->50.25% (19,569,304B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->50.25% (19,569,304B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->50.25% (19,569,304B) 0x15FB16: alloc (alloc.rs:98)
| ->50.25% (19,569,304B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->50.25% (19,569,304B) 0x15FB16: allocate (alloc.rs:241)
| ->50.25% (19,569,304B) 0x15FB16: {closure
| ->50.25% (19,569,304B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->50.25% (19,569,304B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->50.25% (19,569,304B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->49.70% (19,356,560B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->49.70% (19,356,560B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->49.70% (19,356,560B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->49.70% (19,356,560B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->49.70% (19,356,560B) 0x135154: merge (clock.rs:56)
| | ->49.70% (19,356,560B) 0x135154: {closure
| | ->49.70% (19,356,560B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->49.70% (19,356,560B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->49.70% (19,356,560B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->49.70% (19,356,560B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->49.70% (19,356,560B) 0x17D33D: {closure
| | ->49.70% (19,356,560B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->49.70% (19,356,560B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->49.70% (19,356,560B) 0x1218EC: am_repro::main (main.rs:12)
| | ->49.70% (19,356,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->49.70% (19,356,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.55% (212,744B) in 1+ places, all below ms_print's threshold (01.00%)
|
->15.73% (6,128,152B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->11.44% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->11.44% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->11.44% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->11.44% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->11.44% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->11.44% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->11.44% (4,456,448B) 0x17CBC8: {closure
| | | | ->11.44% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->11.44% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->11.44% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->11.44% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->11.44% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.76% (1,074,200B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.53% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.53% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.53% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.53% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.53% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.53% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.50% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.50% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.04% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.52% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.52% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.52% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->09.52% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->09.52% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->09.52% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.52% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.52% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.52% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.52% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.52% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.52% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.24% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->05.24% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->05.24% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->05.24% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->05.24% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->03.13% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->03.13% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.13% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.94% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.78% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.78% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.78% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.78% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.78% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.78% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.78% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.78% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.78% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.78% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.16% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.16% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.16% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.16% (452,192B) 0x17CBC8: {closure
| | | | | ->01.16% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.16% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.16% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.16% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.16% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.19% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.10% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.10% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.10% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.10% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.10% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.10% (819,216B) 0x17CBC8: {closure
| | | | ->02.10% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.10% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.10% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.10% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.10% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.28% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.28% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.28% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.28% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.28% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.73% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.73% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.17% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.76% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.76% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.76% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.76% (685,264B) 0x17CBC8: {closure
| | | | ->01.76% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.76% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.76% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.76% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.76% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.41% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.41% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.41% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.41% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.41% (548,016B) 0x17CBC8: {closure
| | | ->01.41% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.41% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.41% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.41% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.41% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.56% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.56% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.29% (3,229,936B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.29% (3,229,936B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.29% (3,229,936B) 0x15FA39: alloc (alloc.rs:98)
| ->08.29% (3,229,936B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->08.29% (3,229,936B) 0x15FA39: allocate (alloc.rs:241)
| ->08.29% (3,229,936B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->08.29% (3,229,936B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->08.29% (3,229,936B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->08.29% (3,229,936B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->08.29% (3,229,936B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->08.29% (3,229,936B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->08.29% (3,229,936B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->08.29% (3,229,936B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->07.72% (3,006,712B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->07.72% (3,006,712B) 0x13502A: merge (clock.rs:64)
| | ->07.72% (3,006,712B) 0x13502A: {closure
| | ->07.72% (3,006,712B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->07.72% (3,006,712B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->07.72% (3,006,712B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->07.72% (3,006,712B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->07.72% (3,006,712B) 0x17D33D: {closure
| | ->07.72% (3,006,712B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->07.72% (3,006,712B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->07.72% (3,006,712B) 0x1218EC: am_repro::main (main.rs:12)
| | ->07.72% (3,006,712B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->07.72% (3,006,712B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.57% (223,224B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.98% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.98% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.98% (1,938,040B) 0x17CBC8: {closure
| ->04.98% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.98% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.98% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.98% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.98% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->04.14% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.14% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.14% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->04.14% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->04.14% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->04.14% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.14% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.14% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.14% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.14% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.14% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.14% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.14% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.14% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->04.14% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.29% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.29% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.29% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.16% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.16% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.16% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.13% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.13% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.14% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.14% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.14% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.85% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.85% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.85% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.84% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.84% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.64% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.64% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.20% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.77% (1,080,653B) in 74 places, all below massif's threshold (1.00%)
|
->01.62% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.62% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.62% (630,497B) 0x17CBC8: {closure
| ->01.62% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.62% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.62% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.62% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.62% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.23% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.23% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.23% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.23% (478,560B) 0x17CBC8: {closure
->01.23% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.23% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.23% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.23% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.23% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
55 838,031,934 38,903,000 38,332,914 570,086 0
56 847,647,266 38,800,352 38,231,482 568,870 0
57 854,175,381 39,553,152 38,973,586 579,566 0
98.53% (38,973,586B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->50.93% (20,144,656B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->50.93% (20,144,656B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->50.93% (20,144,656B) 0x15FB16: alloc (alloc.rs:98)
| ->50.93% (20,144,656B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->50.93% (20,144,656B) 0x15FB16: allocate (alloc.rs:241)
| ->50.93% (20,144,656B) 0x15FB16: {closure
| ->50.93% (20,144,656B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->50.93% (20,144,656B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->50.93% (20,144,656B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->50.38% (19,926,672B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->50.38% (19,926,672B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->50.38% (19,926,672B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->50.38% (19,926,672B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->50.38% (19,926,672B) 0x135154: merge (clock.rs:56)
| | ->50.38% (19,926,672B) 0x135154: {closure
| | ->50.38% (19,926,672B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->50.38% (19,926,672B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->50.38% (19,926,672B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->50.38% (19,926,672B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->50.38% (19,926,672B) 0x17D33D: {closure
| | ->50.38% (19,926,672B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->50.38% (19,926,672B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->50.38% (19,926,672B) 0x1218EC: am_repro::main (main.rs:12)
| | ->50.38% (19,926,672B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->50.38% (19,926,672B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.55% (217,984B) in 1+ places, all below ms_print's threshold (01.00%)
|
->15.49% (6,128,344B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->11.27% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->11.27% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->11.27% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->11.27% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->11.27% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->11.27% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->11.27% (4,456,448B) 0x17CBC8: {closure
| | | | ->11.27% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->11.27% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->11.27% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->11.27% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->11.27% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.72% (1,074,392B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.51% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.51% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.51% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.51% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.51% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.51% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.48% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.48% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.37% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.37% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.37% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->09.37% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->09.37% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->09.37% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.37% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.37% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.37% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.37% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.37% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.37% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.15% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->05.15% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->05.15% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->05.15% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->05.15% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->03.08% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->03.08% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.08% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.90% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.75% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.75% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.75% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.75% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.75% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.75% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.75% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.75% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.75% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.75% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.14% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.14% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.14% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.14% (452,192B) 0x17CBC8: {closure
| | | | | ->01.14% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.14% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.14% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.14% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.14% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.18% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.07% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.07% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.07% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.07% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.07% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.07% (819,216B) 0x17CBC8: {closure
| | | | ->02.07% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.07% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.07% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.07% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.07% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.22% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.22% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.22% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.22% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.22% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.67% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.67% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.12% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.73% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.73% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.73% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.73% (685,264B) 0x17CBC8: {closure
| | | | ->01.73% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.73% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.73% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.73% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.73% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.39% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.39% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.39% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.39% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.39% (548,016B) 0x17CBC8: {closure
| | | ->01.39% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.39% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.39% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.39% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.39% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.55% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.55% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.22% (3,251,944B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.22% (3,251,944B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.22% (3,251,944B) 0x15FA39: alloc (alloc.rs:98)
| ->08.22% (3,251,944B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->08.22% (3,251,944B) 0x15FA39: allocate (alloc.rs:241)
| ->08.22% (3,251,944B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->08.22% (3,251,944B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->08.22% (3,251,944B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->08.22% (3,251,944B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->08.22% (3,251,944B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->08.22% (3,251,944B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->08.22% (3,251,944B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->08.22% (3,251,944B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->07.65% (3,024,528B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->07.65% (3,024,528B) 0x13502A: merge (clock.rs:64)
| | ->07.65% (3,024,528B) 0x13502A: {closure
| | ->07.65% (3,024,528B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->07.65% (3,024,528B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->07.65% (3,024,528B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->07.65% (3,024,528B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->07.65% (3,024,528B) 0x17D33D: {closure
| | ->07.65% (3,024,528B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->07.65% (3,024,528B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->07.65% (3,024,528B) 0x1218EC: am_repro::main (main.rs:12)
| | ->07.65% (3,024,528B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->07.65% (3,024,528B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.57% (227,416B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.90% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.90% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.90% (1,938,040B) 0x17CBC8: {closure
| ->04.90% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.90% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.90% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.90% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.90% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->04.08% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.08% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.08% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->04.08% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->04.08% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->04.08% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.08% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.08% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.08% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.08% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.08% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.08% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.08% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.08% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->04.08% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.26% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.26% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.26% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.14% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.14% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.14% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.11% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.11% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.12% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.12% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.12% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.82% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.82% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.82% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.81% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.81% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.61% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.61% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.20% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.73% (1,080,813B) in 74 places, all below massif's threshold (1.00%)
|
->01.59% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.59% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.59% (630,497B) 0x17CBC8: {closure
| ->01.59% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.59% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.59% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.59% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.59% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.21% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.21% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.21% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.21% (478,560B) 0x17CBC8: {closure
->01.21% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.21% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.21% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.21% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.21% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
58 863,790,998 39,479,056 38,900,106 578,950 0
59 873,406,511 39,348,928 38,771,578 577,350 0
60 881,638,548 40,228,672 39,638,706 589,966 0
98.53% (39,638,706B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->50.20% (20,193,912B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->50.20% (20,193,912B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->50.20% (20,193,912B) 0x15FB16: alloc (alloc.rs:98)
| ->50.20% (20,193,912B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->50.20% (20,193,912B) 0x15FB16: allocate (alloc.rs:241)
| ->50.20% (20,193,912B) 0x15FB16: {closure
| ->50.20% (20,193,912B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->50.20% (20,193,912B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->50.20% (20,193,912B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->49.65% (19,973,832B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->49.65% (19,973,832B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->49.65% (19,973,832B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->49.65% (19,973,832B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->49.65% (19,973,832B) 0x135154: merge (clock.rs:56)
| | ->49.65% (19,973,832B) 0x135154: {closure
| | ->49.65% (19,973,832B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->49.65% (19,973,832B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->49.65% (19,973,832B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->49.65% (19,973,832B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->49.65% (19,973,832B) 0x17D33D: {closure
| | ->49.65% (19,973,832B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->49.65% (19,973,832B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->49.65% (19,973,832B) 0x1218EC: am_repro::main (main.rs:12)
| | ->49.65% (19,973,832B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->49.65% (19,973,832B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.55% (220,080B) in 1+ places, all below ms_print's threshold (01.00%)
|
->15.23% (6,128,216B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->11.08% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->11.08% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->11.08% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->11.08% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->11.08% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->11.08% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->11.08% (4,456,448B) 0x17CBC8: {closure
| | | | ->11.08% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->11.08% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->11.08% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->11.08% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->11.08% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.67% (1,074,264B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.49% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.49% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.49% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.49% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.49% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.49% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.45% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.45% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.56% (3,847,208B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.56% (3,847,208B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.56% (3,847,208B) 0x15FA39: alloc (alloc.rs:98)
| ->09.56% (3,847,208B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->09.56% (3,847,208B) 0x15FA39: allocate (alloc.rs:241)
| ->09.56% (3,847,208B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->09.56% (3,847,208B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->09.56% (3,847,208B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->09.56% (3,847,208B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->09.56% (3,847,208B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->09.56% (3,847,208B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->09.56% (3,847,208B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->09.56% (3,847,208B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->08.96% (3,606,168B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->08.96% (3,606,168B) 0x13502A: merge (clock.rs:64)
| | ->08.96% (3,606,168B) 0x13502A: {closure
| | ->08.96% (3,606,168B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->08.96% (3,606,168B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->08.96% (3,606,168B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->08.96% (3,606,168B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->08.96% (3,606,168B) 0x17D33D: {closure
| | ->08.96% (3,606,168B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->08.96% (3,606,168B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->08.96% (3,606,168B) 0x1218EC: am_repro::main (main.rs:12)
| | ->08.96% (3,606,168B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->08.96% (3,606,168B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.60% (241,040B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.22% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.22% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.22% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->09.22% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->09.22% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->09.22% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.22% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.22% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.22% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.22% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.22% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.22% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->05.07% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->05.07% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->05.07% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->05.07% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->05.07% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->03.03% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->03.03% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.03% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.85% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.73% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.73% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.73% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.73% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.73% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.73% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.73% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.73% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.73% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.73% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.12% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.12% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.12% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.12% (452,192B) 0x17CBC8: {closure
| | | | | ->01.12% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.12% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.12% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.12% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.12% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.18% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.04% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.04% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.04% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.04% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.04% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.04% (819,216B) 0x17CBC8: {closure
| | | | ->02.04% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.04% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.04% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.04% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.04% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.15% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.15% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.15% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.15% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.15% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.61% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.61% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.07% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.70% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.70% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.70% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.70% (685,264B) 0x17CBC8: {closure
| | | | ->01.70% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.70% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.70% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.70% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.70% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.36% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.36% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.36% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.36% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.36% (548,016B) 0x17CBC8: {closure
| | | ->01.36% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.36% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.36% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.36% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.36% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.54% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.54% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.82% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.82% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.82% (1,938,040B) 0x17CBC8: {closure
| ->04.82% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.82% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.82% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.82% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.82% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->04.01% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.01% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.01% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->04.01% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->04.01% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->04.01% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.01% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.01% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.01% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.01% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.01% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.01% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.01% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.01% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->04.01% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.22% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.22% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.22% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.12% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.12% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.12% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.10% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.10% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.10% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.10% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.10% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.79% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.79% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.79% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.78% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.78% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.58% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.58% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.19% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.74% (1,101,541B) in 74 places, all below massif's threshold (1.00%)
|
->01.57% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.57% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.57% (630,497B) 0x17CBC8: {closure
| ->01.57% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.57% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.57% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.57% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.57% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.19% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.19% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.19% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.19% (478,560B) 0x17CBC8: {closure
->01.19% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.19% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.19% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.19% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.19% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
61 883,078,389 40,850,208 40,250,850 599,358 0
98.53% (40,250,850B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->50.92% (20,801,752B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->50.92% (20,801,752B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->50.92% (20,801,752B) 0x15FB16: alloc (alloc.rs:98)
| ->50.92% (20,801,752B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->50.92% (20,801,752B) 0x15FB16: allocate (alloc.rs:241)
| ->50.92% (20,801,752B) 0x15FB16: {closure
| ->50.92% (20,801,752B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->50.92% (20,801,752B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->50.92% (20,801,752B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->50.38% (20,580,624B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->50.38% (20,580,624B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->50.38% (20,580,624B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->50.38% (20,580,624B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->50.38% (20,580,624B) 0x135154: merge (clock.rs:56)
| | ->50.38% (20,580,624B) 0x135154: {closure
| | ->50.38% (20,580,624B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->50.38% (20,580,624B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->50.38% (20,580,624B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->50.38% (20,580,624B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->50.38% (20,580,624B) 0x17D33D: {closure
| | ->50.38% (20,580,624B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->50.38% (20,580,624B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->50.38% (20,580,624B) 0x1218EC: am_repro::main (main.rs:12)
| | ->50.38% (20,580,624B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->50.38% (20,580,624B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.54% (221,128B) in 1+ places, all below ms_print's threshold (01.00%)
|
->15.00% (6,128,216B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->10.91% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->10.91% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->10.91% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->10.91% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->10.91% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->10.91% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->10.91% (4,456,448B) 0x17CBC8: {closure
| | | | ->10.91% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->10.91% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->10.91% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->10.91% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->10.91% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.63% (1,074,264B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.46% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.46% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.46% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.46% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.46% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.46% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.43% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.43% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.43% (3,852,448B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.43% (3,852,448B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.43% (3,852,448B) 0x15FA39: alloc (alloc.rs:98)
| ->09.43% (3,852,448B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->09.43% (3,852,448B) 0x15FA39: allocate (alloc.rs:241)
| ->09.43% (3,852,448B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->09.43% (3,852,448B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->09.43% (3,852,448B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->09.43% (3,852,448B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->09.43% (3,852,448B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->09.43% (3,852,448B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->09.43% (3,852,448B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->09.43% (3,852,448B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->08.84% (3,611,408B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->08.84% (3,611,408B) 0x13502A: merge (clock.rs:64)
| | ->08.84% (3,611,408B) 0x13502A: {closure
| | ->08.84% (3,611,408B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->08.84% (3,611,408B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->08.84% (3,611,408B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->08.84% (3,611,408B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->08.84% (3,611,408B) 0x17D33D: {closure
| | ->08.84% (3,611,408B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->08.84% (3,611,408B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->08.84% (3,611,408B) 0x1218EC: am_repro::main (main.rs:12)
| | ->08.84% (3,611,408B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->08.84% (3,611,408B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.59% (241,040B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.08% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.08% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.08% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->09.08% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->09.08% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->09.08% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->09.08% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->09.08% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->09.08% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->09.08% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->09.08% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->09.08% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.99% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.99% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.99% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.99% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.99% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.99% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.99% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.98% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.81% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.70% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.70% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.70% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.70% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.70% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.70% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.70% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.70% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.70% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.70% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.11% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.11% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.11% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.11% (452,192B) 0x17CBC8: {closure
| | | | | ->01.11% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.11% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.11% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.11% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.11% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.18% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->02.01% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->02.01% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->02.01% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->02.01% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->02.01% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.01% (819,216B) 0x17CBC8: {closure
| | | | ->02.01% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.01% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.01% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->02.01% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.01% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.08% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.08% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.08% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.08% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.08% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.55% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.55% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->03.02% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.68% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.68% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.68% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.68% (685,264B) 0x17CBC8: {closure
| | | | ->01.68% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.68% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.68% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.68% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.68% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.34% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.34% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.34% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.34% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.34% (548,016B) 0x17CBC8: {closure
| | | ->01.34% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.34% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.34% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.34% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.34% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.53% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.53% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.74% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.74% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.74% (1,938,040B) 0x17CBC8: {closure
| ->04.74% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.74% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.74% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.74% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.74% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.95% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.95% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.95% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.95% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.95% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.95% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.95% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.95% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.95% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.95% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.95% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.95% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.95% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.95% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.95% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.19% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.19% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.19% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.10% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.10% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.10% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.08% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.08% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.08% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.08% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.08% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.76% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.76% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.76% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.75% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.75% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.56% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.56% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.19% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.69% (1,100,605B) in 74 places, all below massif's threshold (1.00%)
|
->01.54% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.54% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.54% (630,497B) 0x17CBC8: {closure
| ->01.54% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.54% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.54% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.54% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.54% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.17% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.17% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.17% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.17% (478,560B) 0x17CBC8: {closure
->01.17% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.17% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.17% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.17% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.17% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
62 886,011,885 41,490,920 40,881,738 609,182 0
98.53% (40,881,738B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->51.60% (21,410,640B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->51.60% (21,410,640B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->51.60% (21,410,640B) 0x15FB16: alloc (alloc.rs:98)
| ->51.60% (21,410,640B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->51.60% (21,410,640B) 0x15FB16: allocate (alloc.rs:241)
| ->51.60% (21,410,640B) 0x15FB16: {closure
| ->51.60% (21,410,640B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->51.60% (21,410,640B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->51.60% (21,410,640B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->51.07% (21,187,416B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->51.07% (21,187,416B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->51.07% (21,187,416B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->51.07% (21,187,416B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->51.07% (21,187,416B) 0x135154: merge (clock.rs:56)
| | ->51.07% (21,187,416B) 0x135154: {closure
| | ->51.07% (21,187,416B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->51.07% (21,187,416B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->51.07% (21,187,416B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->51.07% (21,187,416B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->51.07% (21,187,416B) 0x17D33D: {closure
| | ->51.07% (21,187,416B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->51.07% (21,187,416B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->51.07% (21,187,416B) 0x1218EC: am_repro::main (main.rs:12)
| | ->51.07% (21,187,416B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->51.07% (21,187,416B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.54% (223,224B) in 1+ places, all below ms_print's threshold (01.00%)
|
->14.77% (6,128,280B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->10.74% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->10.74% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->10.74% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->10.74% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->10.74% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->10.74% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->10.74% (4,456,448B) 0x17CBC8: {closure
| | | | ->10.74% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->10.74% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->10.74% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->10.74% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->10.74% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.59% (1,074,328B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.44% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.44% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.44% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.44% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.44% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.44% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.41% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.41% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.33% (3,872,360B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.33% (3,872,360B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.33% (3,872,360B) 0x15FA39: alloc (alloc.rs:98)
| ->09.33% (3,872,360B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->09.33% (3,872,360B) 0x15FA39: allocate (alloc.rs:241)
| ->09.33% (3,872,360B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->09.33% (3,872,360B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->09.33% (3,872,360B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->09.33% (3,872,360B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->09.33% (3,872,360B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->09.33% (3,872,360B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->09.33% (3,872,360B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->09.33% (3,872,360B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->08.75% (3,629,224B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->08.75% (3,629,224B) 0x13502A: merge (clock.rs:64)
| | ->08.75% (3,629,224B) 0x13502A: {closure
| | ->08.75% (3,629,224B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->08.75% (3,629,224B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->08.75% (3,629,224B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->08.75% (3,629,224B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->08.75% (3,629,224B) 0x17D33D: {closure
| | ->08.75% (3,629,224B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->08.75% (3,629,224B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->08.75% (3,629,224B) 0x1218EC: am_repro::main (main.rs:12)
| | ->08.75% (3,629,224B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->08.75% (3,629,224B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.59% (243,136B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.94% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.94% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.94% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->08.94% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->08.94% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->08.94% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.94% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.94% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.94% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.94% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.94% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.94% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.91% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.91% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.91% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.91% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.91% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.94% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.94% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.94% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.76% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.67% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.67% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.67% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.67% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.67% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.67% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.67% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.67% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.67% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.67% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.09% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.09% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.09% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.09% (452,192B) 0x17CBC8: {closure
| | | | | ->01.09% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.09% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.09% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.09% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.09% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.17% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.97% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.97% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.97% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.97% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.97% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.97% (819,216B) 0x17CBC8: {closure
| | | | ->01.97% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.97% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.97% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.97% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.97% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->04.02% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->04.02% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->04.02% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->04.02% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->04.02% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.50% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.50% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.97% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.65% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.65% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.65% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.65% (685,264B) 0x17CBC8: {closure
| | | | ->01.65% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.65% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.65% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.65% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.65% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.32% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.32% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.32% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.32% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.32% (548,016B) 0x17CBC8: {closure
| | | ->01.32% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.32% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.32% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.32% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.32% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.52% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.52% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.67% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.67% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.67% (1,938,040B) 0x17CBC8: {closure
| ->04.67% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.67% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.67% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.67% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.67% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.89% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.89% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.89% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.89% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.89% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.89% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.89% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.89% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.89% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.89% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.89% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.89% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.89% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.89% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.89% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.15% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.15% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.15% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.09% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.09% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.08% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.06% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.06% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.07% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.07% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.07% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.74% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.74% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.74% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.73% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.73% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.54% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.54% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.19% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.66% (1,102,629B) in 74 places, all below massif's threshold (1.00%)
|
->01.52% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.52% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.52% (630,497B) 0x17CBC8: {closure
| ->01.52% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.52% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.52% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.52% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.52% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.15% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.15% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.15% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.15% (478,560B) 0x17CBC8: {closure
->01.15% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.15% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.15% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.15% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.15% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
63 890,775,677 42,144,880 41,525,674 619,206 0
98.53% (41,525,674B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->52.27% (22,027,912B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->52.27% (22,027,912B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->52.27% (22,027,912B) 0x15FB16: alloc (alloc.rs:98)
| ->52.27% (22,027,912B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->52.27% (22,027,912B) 0x15FB16: allocate (alloc.rs:241)
| ->52.27% (22,027,912B) 0x15FB16: {closure
| ->52.27% (22,027,912B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->52.27% (22,027,912B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->52.27% (22,027,912B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->51.73% (21,801,544B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->51.73% (21,801,544B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->51.73% (21,801,544B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->51.73% (21,801,544B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->51.73% (21,801,544B) 0x135154: merge (clock.rs:56)
| | ->51.73% (21,801,544B) 0x135154: {closure
| | ->51.73% (21,801,544B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->51.73% (21,801,544B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->51.73% (21,801,544B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->51.73% (21,801,544B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->51.73% (21,801,544B) 0x17D33D: {closure
| | ->51.73% (21,801,544B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->51.73% (21,801,544B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->51.73% (21,801,544B) 0x1218EC: am_repro::main (main.rs:12)
| | ->51.73% (21,801,544B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->51.73% (21,801,544B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.54% (226,368B) in 1+ places, all below ms_print's threshold (01.00%)
|
->14.54% (6,128,472B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->10.57% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->10.57% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->10.57% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->10.57% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->10.57% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->10.57% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->10.57% (4,456,448B) 0x17CBC8: {closure
| | | | ->10.57% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->10.57% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->10.57% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->10.57% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->10.57% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.55% (1,074,520B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.42% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.42% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.42% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.42% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.42% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.42% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.38% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.38% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.25% (3,896,464B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.25% (3,896,464B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.25% (3,896,464B) 0x15FA39: alloc (alloc.rs:98)
| ->09.25% (3,896,464B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->09.25% (3,896,464B) 0x15FA39: allocate (alloc.rs:241)
| ->09.25% (3,896,464B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->09.25% (3,896,464B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->09.25% (3,896,464B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->09.25% (3,896,464B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->09.25% (3,896,464B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->09.25% (3,896,464B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->09.25% (3,896,464B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->09.25% (3,896,464B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->08.66% (3,649,136B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->08.66% (3,649,136B) 0x13502A: merge (clock.rs:64)
| | ->08.66% (3,649,136B) 0x13502A: {closure
| | ->08.66% (3,649,136B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->08.66% (3,649,136B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->08.66% (3,649,136B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->08.66% (3,649,136B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->08.66% (3,649,136B) 0x17D33D: {closure
| | ->08.66% (3,649,136B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->08.66% (3,649,136B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->08.66% (3,649,136B) 0x1218EC: am_repro::main (main.rs:12)
| | ->08.66% (3,649,136B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->08.66% (3,649,136B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.59% (247,328B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.80% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.80% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.80% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->08.80% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->08.80% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->08.80% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.80% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.80% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.80% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.80% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.80% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.80% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.84% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.84% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.84% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.84% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.84% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.89% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.89% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.89% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.72% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.65% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.65% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.65% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.65% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.65% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.65% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.65% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.65% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.65% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.65% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.07% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.07% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.07% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.07% (452,192B) 0x17CBC8: {closure
| | | | | ->01.07% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.07% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.07% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.07% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.07% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.17% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.94% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.94% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.94% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.94% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.94% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.94% (819,216B) 0x17CBC8: {closure
| | | | ->01.94% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.94% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.94% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.94% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.94% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.96% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.96% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.96% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.96% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.96% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.44% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.44% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.93% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.63% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.63% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.63% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.63% (685,264B) 0x17CBC8: {closure
| | | | ->01.63% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.63% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.63% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.63% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.63% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.30% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.30% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.30% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.30% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.30% (548,016B) 0x17CBC8: {closure
| | | ->01.30% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.30% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.30% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.30% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.30% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.52% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.52% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.60% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.60% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.60% (1,938,040B) 0x17CBC8: {closure
| ->04.60% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.60% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.60% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.60% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.60% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.83% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.83% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.83% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.83% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.83% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.83% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.83% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.83% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.83% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.83% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.83% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.83% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.83% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.83% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.83% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.12% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.12% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.12% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.07% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.07% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.07% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.05% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.05% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.05% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.05% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.05% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.71% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.71% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.71% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.70% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.70% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.51% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.51% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.19% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.62% (1,104,997B) in 74 places, all below massif's threshold (1.00%)
|
->01.50% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.50% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.50% (630,497B) 0x17CBC8: {closure
| ->01.50% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.50% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.50% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.50% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.50% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.14% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.14% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.14% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.14% (478,560B) 0x17CBC8: {closure
->01.14% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.14% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.14% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.14% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.14% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
64 897,145,136 42,847,672 42,217,698 629,974 0
98.53% (42,217,698B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->51.45% (22,043,632B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->51.45% (22,043,632B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->51.45% (22,043,632B) 0x15FB16: alloc (alloc.rs:98)
| ->51.45% (22,043,632B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->51.45% (22,043,632B) 0x15FB16: allocate (alloc.rs:241)
| ->51.45% (22,043,632B) 0x15FB16: {closure
| ->51.45% (22,043,632B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->51.45% (22,043,632B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->51.45% (22,043,632B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->50.93% (21,821,456B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->50.93% (21,821,456B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->50.93% (21,821,456B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->50.93% (21,821,456B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->50.93% (21,821,456B) 0x135154: merge (clock.rs:56)
| | ->50.93% (21,821,456B) 0x135154: {closure
| | ->50.93% (21,821,456B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->50.93% (21,821,456B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->50.93% (21,821,456B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->50.93% (21,821,456B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->50.93% (21,821,456B) 0x17D33D: {closure
| | ->50.93% (21,821,456B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->50.93% (21,821,456B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->50.93% (21,821,456B) 0x1218EC: am_repro::main (main.rs:12)
| | ->50.93% (21,821,456B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->50.93% (21,821,456B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.52% (222,176B) in 1+ places, all below ms_print's threshold (01.00%)
|
->14.30% (6,128,600B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->10.40% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->10.40% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->10.40% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->10.40% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->10.40% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->10.40% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->10.40% (4,456,448B) 0x17CBC8: {closure
| | | | ->10.40% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->10.40% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->10.40% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->10.40% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->10.40% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.51% (1,074,648B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.39% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.39% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.39% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.39% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.39% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.39% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.36% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.36% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.62% (4,549,368B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->10.62% (4,549,368B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->10.62% (4,549,368B) 0x15FA39: alloc (alloc.rs:98)
| ->10.62% (4,549,368B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->10.62% (4,549,368B) 0x15FA39: allocate (alloc.rs:241)
| ->10.62% (4,549,368B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->10.62% (4,549,368B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->10.62% (4,549,368B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->10.62% (4,549,368B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->10.62% (4,549,368B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->10.62% (4,549,368B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->10.62% (4,549,368B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->10.62% (4,549,368B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->10.03% (4,296,800B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->10.03% (4,296,800B) 0x13502A: merge (clock.rs:64)
| | ->10.03% (4,296,800B) 0x13502A: {closure
| | ->10.03% (4,296,800B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->10.03% (4,296,800B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->10.03% (4,296,800B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->10.03% (4,296,800B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->10.03% (4,296,800B) 0x17D33D: {closure
| | ->10.03% (4,296,800B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->10.03% (4,296,800B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->10.03% (4,296,800B) 0x1218EC: am_repro::main (main.rs:12)
| | ->10.03% (4,296,800B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->10.03% (4,296,800B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.59% (252,568B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.65% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.65% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.65% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->08.65% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->08.65% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->08.65% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.65% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.65% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.65% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.65% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.65% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.65% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.76% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.76% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.76% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.76% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.76% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.85% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.85% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.84% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.68% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.62% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.62% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.62% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.62% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.62% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.62% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.62% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.62% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.62% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.62% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.06% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.06% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.06% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.06% (452,192B) 0x17CBC8: {closure
| | | | | ->01.06% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.06% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.06% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.06% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.06% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.17% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.91% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.91% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.91% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.91% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.91% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.91% (819,216B) 0x17CBC8: {closure
| | | | ->01.91% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.91% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.91% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.91% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.91% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.89% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.89% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.89% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.89% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.89% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.39% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.39% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.88% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.60% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.60% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.60% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.60% (685,264B) 0x17CBC8: {closure
| | | | ->01.60% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.60% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.60% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.60% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.60% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.28% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.28% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.28% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.28% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.28% (548,016B) 0x17CBC8: {closure
| | | ->01.28% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.28% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.28% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.28% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.28% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.51% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.51% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.52% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.52% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.52% (1,938,040B) 0x17CBC8: {closure
| ->04.52% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.52% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.52% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.52% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.52% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.77% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.77% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.77% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.77% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.77% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.77% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.77% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.77% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.77% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.77% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.77% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.77% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.77% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.77% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.77% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.08% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.08% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.08% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.05% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.05% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.05% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.03% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.03% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.03% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.03% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.03% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.68% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.68% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.68% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.67% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.67% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.49% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.49% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.18% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.63% (1,128,269B) in 74 places, all below massif's threshold (1.00%)
|
->01.47% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.47% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.47% (630,497B) 0x17CBC8: {closure
| ->01.47% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.47% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.47% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.47% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.47% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.12% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.12% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.12% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.12% (478,560B) 0x17CBC8: {closure
->01.12% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.12% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.12% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.12% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.12% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
65 898,669,416 43,520,352 42,880,202 640,150 0
98.53% (42,880,202B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->52.14% (22,692,344B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->52.14% (22,692,344B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->52.14% (22,692,344B) 0x15FB16: alloc (alloc.rs:98)
| ->52.14% (22,692,344B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->52.14% (22,692,344B) 0x15FB16: allocate (alloc.rs:241)
| ->52.14% (22,692,344B) 0x15FB16: {closure
| ->52.14% (22,692,344B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->52.14% (22,692,344B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->52.14% (22,692,344B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->51.63% (22,469,120B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->51.63% (22,469,120B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->51.63% (22,469,120B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->51.63% (22,469,120B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->51.63% (22,469,120B) 0x135154: merge (clock.rs:56)
| | ->51.63% (22,469,120B) 0x135154: {closure
| | ->51.63% (22,469,120B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->51.63% (22,469,120B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->51.63% (22,469,120B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->51.63% (22,469,120B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->51.63% (22,469,120B) 0x17D33D: {closure
| | ->51.63% (22,469,120B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->51.63% (22,469,120B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->51.63% (22,469,120B) 0x1218EC: am_repro::main (main.rs:12)
| | ->51.63% (22,469,120B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->51.63% (22,469,120B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.51% (223,224B) in 1+ places, all below ms_print's threshold (01.00%)
|
->14.08% (6,128,600B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->10.24% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->10.24% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->10.24% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->10.24% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->10.24% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->10.24% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->10.24% (4,456,448B) 0x17CBC8: {closure
| | | | ->10.24% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->10.24% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->10.24% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->10.24% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->10.24% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.47% (1,074,648B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.37% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.37% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.37% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.37% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.37% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.37% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.34% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.34% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.49% (4,564,040B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->10.49% (4,564,040B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->10.49% (4,564,040B) 0x15FA39: alloc (alloc.rs:98)
| ->10.49% (4,564,040B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->10.49% (4,564,040B) 0x15FA39: allocate (alloc.rs:241)
| ->10.49% (4,564,040B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->10.49% (4,564,040B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->10.49% (4,564,040B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->10.49% (4,564,040B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->10.49% (4,564,040B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->10.49% (4,564,040B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->10.49% (4,564,040B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->10.49% (4,564,040B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->09.89% (4,306,232B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->09.89% (4,306,232B) 0x13502A: merge (clock.rs:64)
| | ->09.89% (4,306,232B) 0x13502A: {closure
| | ->09.89% (4,306,232B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->09.89% (4,306,232B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->09.89% (4,306,232B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->09.89% (4,306,232B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->09.89% (4,306,232B) 0x17D33D: {closure
| | ->09.89% (4,306,232B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->09.89% (4,306,232B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->09.89% (4,306,232B) 0x1218EC: am_repro::main (main.rs:12)
| | ->09.89% (4,306,232B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->09.89% (4,306,232B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.59% (257,808B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.52% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.52% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.52% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->08.52% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->08.52% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->08.52% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.52% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.52% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.52% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.52% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.52% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.52% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.68% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.68% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.68% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.68% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.68% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.80% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.80% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.80% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.63% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.59% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.59% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.59% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.59% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.59% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.59% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.59% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.59% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.59% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.59% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.04% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.04% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.04% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.04% (452,192B) 0x17CBC8: {closure
| | | | | ->01.04% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.04% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.04% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.04% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.04% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.17% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.88% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.88% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.88% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.88% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.88% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.88% (819,216B) 0x17CBC8: {closure
| | | | ->01.88% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.88% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.88% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.88% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.88% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.83% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.83% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.83% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.83% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.83% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.33% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.33% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.83% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.57% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.57% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.57% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.57% (685,264B) 0x17CBC8: {closure
| | | | ->01.57% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.57% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.57% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.57% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.57% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.26% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.26% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.26% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.26% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.26% (548,016B) 0x17CBC8: {closure
| | | ->01.26% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.26% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.26% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.26% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.26% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.50% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.50% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.45% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.45% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.45% (1,938,040B) 0x17CBC8: {closure
| ->04.45% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.45% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.45% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.45% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.45% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.71% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.71% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.71% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.71% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.71% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.71% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.71% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.71% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.71% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.71% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.71% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.71% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.71% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.71% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.71% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.05% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.05% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.05% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.03% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.03% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.03% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.01% (440,800B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.01% (440,800B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.02% (9,120B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.02% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.02% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.02% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.66% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.66% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.66% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.64% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.64% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.46% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.46% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.18% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.59% (1,127,389B) in 74 places, all below massif's threshold (1.00%)
|
->01.45% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.45% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.45% (630,497B) 0x17CBC8: {closure
| ->01.45% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.45% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.45% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.45% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.45% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.10% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.10% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.10% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.10% (478,560B) 0x17CBC8: {closure
->01.10% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.10% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.10% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.10% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.10% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
66 901,777,358 44,208,456 43,557,738 650,718 0
98.53% (43,557,738B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->52.80% (23,344,200B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->52.80% (23,344,200B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->52.80% (23,344,200B) 0x15FB16: alloc (alloc.rs:98)
| ->52.80% (23,344,200B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->52.80% (23,344,200B) 0x15FB16: allocate (alloc.rs:241)
| ->52.80% (23,344,200B) 0x15FB16: {closure
| ->52.80% (23,344,200B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->52.80% (23,344,200B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->52.80% (23,344,200B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->52.29% (23,116,784B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->52.29% (23,116,784B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->52.29% (23,116,784B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->52.29% (23,116,784B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->52.29% (23,116,784B) 0x135154: merge (clock.rs:56)
| | ->52.29% (23,116,784B) 0x135154: {closure
| | ->52.29% (23,116,784B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->52.29% (23,116,784B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->52.29% (23,116,784B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->52.29% (23,116,784B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->52.29% (23,116,784B) 0x17D33D: {closure
| | ->52.29% (23,116,784B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->52.29% (23,116,784B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->52.29% (23,116,784B) 0x1218EC: am_repro::main (main.rs:12)
| | ->52.29% (23,116,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->52.29% (23,116,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.51% (227,416B) in 1+ places, all below ms_print's threshold (01.00%)
|
->13.86% (6,128,664B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->10.08% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->10.08% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->10.08% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->10.08% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->10.08% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->10.08% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->10.08% (4,456,448B) 0x17CBC8: {closure
| | | | ->10.08% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->10.08% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->10.08% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->10.08% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->10.08% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.43% (1,074,712B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.35% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.35% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.35% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.35% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.35% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.35% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.32% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.32% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.38% (4,588,144B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->10.38% (4,588,144B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->10.38% (4,588,144B) 0x15FA39: alloc (alloc.rs:98)
| ->10.38% (4,588,144B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->10.38% (4,588,144B) 0x15FA39: allocate (alloc.rs:241)
| ->10.38% (4,588,144B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->10.38% (4,588,144B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->10.38% (4,588,144B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->10.38% (4,588,144B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->10.38% (4,588,144B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->10.38% (4,588,144B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->10.38% (4,588,144B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->10.38% (4,588,144B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->09.79% (4,327,192B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->09.79% (4,327,192B) 0x13502A: merge (clock.rs:64)
| | ->09.79% (4,327,192B) 0x13502A: {closure
| | ->09.79% (4,327,192B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->09.79% (4,327,192B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->09.79% (4,327,192B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->09.79% (4,327,192B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->09.79% (4,327,192B) 0x17D33D: {closure
| | ->09.79% (4,327,192B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->09.79% (4,327,192B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->09.79% (4,327,192B) 0x1218EC: am_repro::main (main.rs:12)
| | ->09.79% (4,327,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->09.79% (4,327,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.59% (260,952B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.39% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.39% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.39% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->08.39% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->08.39% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->08.39% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.39% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.39% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.39% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.39% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.39% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.39% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.61% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.61% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.61% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.61% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.61% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.76% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.76% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.76% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.59% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.57% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.57% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.57% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.57% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.57% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.57% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.57% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.57% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.57% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.57% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.02% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.02% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.02% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.02% (452,192B) 0x17CBC8: {closure
| | | | | ->01.02% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.02% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.02% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.02% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.02% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.16% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.85% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.85% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.85% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.85% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.85% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.85% (819,216B) 0x17CBC8: {closure
| | | | ->01.85% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.85% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.85% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.85% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.85% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.77% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.77% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.77% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.77% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.77% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.28% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.28% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.79% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.55% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.55% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.55% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.55% (685,264B) 0x17CBC8: {closure
| | | | ->01.55% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.55% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.55% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.55% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.55% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.24% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.24% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.24% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.24% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.24% (548,016B) 0x17CBC8: {closure
| | | ->01.24% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.24% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.24% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.24% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.24% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.49% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.49% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.38% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.38% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.38% (1,938,040B) 0x17CBC8: {closure
| ->04.38% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.38% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.38% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.38% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.38% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.65% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.65% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.65% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.65% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.65% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.65% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.65% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.65% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.65% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.65% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.65% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.65% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.65% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.65% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.65% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.02% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->02.02% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->02.02% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.02% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.02% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.02% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.02% (449,920B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.00% (442,400B) 0x148D76: index_insert (node.rs:148)
| | | ->01.00% (442,400B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.00% (442,400B) in 3 places, all below massif's threshold (1.00%)
| | |
| | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.63% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.63% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.63% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.62% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.62% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.44% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.44% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.18% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.55% (1,128,901B) in 74 places, all below massif's threshold (1.00%)
|
->01.43% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.43% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.43% (630,497B) 0x17CBC8: {closure
| ->01.43% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.43% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.43% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.43% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.43% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.08% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.08% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.08% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.08% (478,560B) 0x17CBC8: {closure
->01.08% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.08% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.08% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.08% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.08% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
67 906,813,996 44,909,232 44,247,754 661,478 0
98.53% (44,247,754B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->53.45% (24,005,488B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->53.45% (24,005,488B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->53.45% (24,005,488B) 0x15FB16: alloc (alloc.rs:98)
| ->53.45% (24,005,488B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->53.45% (24,005,488B) 0x15FB16: allocate (alloc.rs:241)
| ->53.45% (24,005,488B) 0x15FB16: {closure
| ->53.45% (24,005,488B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->53.45% (24,005,488B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->53.45% (24,005,488B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->52.94% (23,774,928B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->52.94% (23,774,928B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->52.94% (23,774,928B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->52.94% (23,774,928B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->52.94% (23,774,928B) 0x135154: merge (clock.rs:56)
| | ->52.94% (23,774,928B) 0x135154: {closure
| | ->52.94% (23,774,928B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->52.94% (23,774,928B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->52.94% (23,774,928B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->52.94% (23,774,928B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->52.94% (23,774,928B) 0x17D33D: {closure
| | ->52.94% (23,774,928B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->52.94% (23,774,928B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->52.94% (23,774,928B) 0x1218EC: am_repro::main (main.rs:12)
| | ->52.94% (23,774,928B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->52.94% (23,774,928B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.51% (230,560B) in 1+ places, all below ms_print's threshold (01.00%)
|
->13.65% (6,128,792B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->09.92% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->09.92% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->09.92% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->09.92% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->09.92% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->09.92% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->09.92% (4,456,448B) 0x17CBC8: {closure
| | | | ->09.92% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->09.92% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->09.92% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->09.92% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->09.92% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.39% (1,074,840B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.33% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.33% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.33% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.33% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.33% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.33% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.30% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.30% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.27% (4,614,344B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->10.27% (4,614,344B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->10.27% (4,614,344B) 0x15FA39: alloc (alloc.rs:98)
| ->10.27% (4,614,344B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->10.27% (4,614,344B) 0x15FA39: allocate (alloc.rs:241)
| ->10.27% (4,614,344B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->10.27% (4,614,344B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->10.27% (4,614,344B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->10.27% (4,614,344B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->10.27% (4,614,344B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->10.27% (4,614,344B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->10.27% (4,614,344B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->10.27% (4,614,344B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->09.69% (4,351,296B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->09.69% (4,351,296B) 0x13502A: merge (clock.rs:64)
| | ->09.69% (4,351,296B) 0x13502A: {closure
| | ->09.69% (4,351,296B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->09.69% (4,351,296B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->09.69% (4,351,296B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->09.69% (4,351,296B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->09.69% (4,351,296B) 0x17D33D: {closure
| | ->09.69% (4,351,296B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->09.69% (4,351,296B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->09.69% (4,351,296B) 0x1218EC: am_repro::main (main.rs:12)
| | ->09.69% (4,351,296B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->09.69% (4,351,296B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.59% (263,048B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.26% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.26% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.26% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->08.26% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->08.26% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->08.26% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.26% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.26% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.26% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.26% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.26% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.26% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.54% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.54% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.54% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.54% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.54% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.72% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.72% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.71% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.55% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.55% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.55% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.55% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.55% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.55% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.55% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.55% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.55% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.55% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.55% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.01% (452,192B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.01% (452,192B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.01% (452,192B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.01% (452,192B) 0x17CBC8: {closure
| | | | | ->01.01% (452,192B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.01% (452,192B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.01% (452,192B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | ->01.01% (452,192B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.01% (452,192B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->00.16% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.82% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.82% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.82% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.82% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.82% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.82% (819,216B) 0x17CBC8: {closure
| | | | ->01.82% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.82% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.82% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.82% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.82% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.72% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.72% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.72% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.72% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.72% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.23% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.23% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.75% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.53% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.53% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.53% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.53% (685,264B) 0x17CBC8: {closure
| | | | ->01.53% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.53% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.53% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.53% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.53% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.22% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.22% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.22% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.22% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.22% (548,016B) 0x17CBC8: {closure
| | | ->01.22% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.22% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.22% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.22% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.22% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.48% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.48% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.32% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.32% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.32% (1,938,040B) 0x17CBC8: {closure
| ->04.32% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.32% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.32% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.32% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.32% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.59% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.59% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.59% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.59% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.59% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.59% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.59% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.59% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.59% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.59% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.59% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.59% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.59% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.59% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.59% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.99% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.99% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.99% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.00% (450,224B) 0x1494C3: reindex (node.rs:96)
| | | ->01.00% (450,224B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.00% (449,920B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.00% (449,920B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.00% (304B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.99% (442,704B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.60% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.60% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.60% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.59% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.59% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.42% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.42% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.17% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.52% (1,131,301B) in 74 places, all below massif's threshold (1.00%)
|
->01.40% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.40% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.40% (630,497B) 0x17CBC8: {closure
| ->01.40% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.40% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.40% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.40% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.40% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.07% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.07% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.07% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.07% (478,560B) 0x17CBC8: {closure
->01.07% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.07% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.07% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.07% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.07% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
68 913,806,970 45,607,552 44,935,394 672,158 0
98.53% (44,935,394B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->54.11% (24,679,352B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->54.11% (24,679,352B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->54.11% (24,679,352B) 0x15FB16: alloc (alloc.rs:98)
| ->54.11% (24,679,352B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->54.11% (24,679,352B) 0x15FB16: allocate (alloc.rs:241)
| ->54.11% (24,679,352B) 0x15FB16: {closure
| ->54.11% (24,679,352B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->54.11% (24,679,352B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->54.11% (24,679,352B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->53.59% (24,442,504B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->53.59% (24,442,504B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->53.59% (24,442,504B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->53.59% (24,442,504B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->53.59% (24,442,504B) 0x135154: merge (clock.rs:56)
| | ->53.59% (24,442,504B) 0x135154: {closure
| | ->53.59% (24,442,504B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->53.59% (24,442,504B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->53.59% (24,442,504B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->53.59% (24,442,504B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->53.59% (24,442,504B) 0x17D33D: {closure
| | ->53.59% (24,442,504B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->53.59% (24,442,504B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->53.59% (24,442,504B) 0x1218EC: am_repro::main (main.rs:12)
| | ->53.59% (24,442,504B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->53.59% (24,442,504B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.52% (236,848B) in 1+ places, all below ms_print's threshold (01.00%)
|
->13.44% (6,128,920B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->09.77% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->09.77% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->09.77% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->09.77% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->09.77% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->09.77% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->09.77% (4,456,448B) 0x17CBC8: {closure
| | | | ->09.77% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->09.77% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->09.77% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->09.77% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->09.77% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.36% (1,074,968B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.31% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.31% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.31% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.31% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.31% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.31% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.28% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.28% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.15% (4,630,064B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->10.15% (4,630,064B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->10.15% (4,630,064B) 0x15FA39: alloc (alloc.rs:98)
| ->10.15% (4,630,064B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->10.15% (4,630,064B) 0x15FA39: allocate (alloc.rs:241)
| ->10.15% (4,630,064B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->10.15% (4,630,064B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->10.15% (4,630,064B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->10.15% (4,630,064B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->10.15% (4,630,064B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->10.15% (4,630,064B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->10.15% (4,630,064B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->10.15% (4,630,064B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->09.57% (4,362,824B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->09.57% (4,362,824B) 0x13502A: merge (clock.rs:64)
| | ->09.57% (4,362,824B) 0x13502A: {closure
| | ->09.57% (4,362,824B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->09.57% (4,362,824B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->09.57% (4,362,824B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->09.57% (4,362,824B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->09.57% (4,362,824B) 0x17D33D: {closure
| | ->09.57% (4,362,824B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->09.57% (4,362,824B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->09.57% (4,362,824B) 0x1218EC: am_repro::main (main.rs:12)
| | ->09.57% (4,362,824B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->09.57% (4,362,824B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.59% (267,240B) in 1+ places, all below ms_print's threshold (01.00%)
|
->08.13% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->08.13% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->08.13% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->08.13% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->08.13% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->08.13% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->08.13% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->08.13% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->08.13% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->08.13% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->08.13% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->08.13% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.47% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.47% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.47% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.47% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.47% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.67% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.67% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.67% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.51% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.52% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.52% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.52% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.52% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.52% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.52% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.52% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.52% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.52% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.52% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.99% (452,192B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.16% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.80% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.80% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.80% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.80% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.80% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.80% (819,216B) 0x17CBC8: {closure
| | | | ->01.80% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.80% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.80% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.80% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.80% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.66% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.66% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.66% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.66% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.66% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.18% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.18% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.70% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.50% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.50% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.50% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.50% (685,264B) 0x17CBC8: {closure
| | | | ->01.50% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.50% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.50% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.50% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.50% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.20% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.20% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.20% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.20% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.20% (548,016B) 0x17CBC8: {closure
| | | ->01.20% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.20% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.20% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.20% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.20% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.48% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.48% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.25% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.25% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.25% (1,938,040B) 0x17CBC8: {closure
| ->04.25% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.25% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.25% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.25% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.25% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.54% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.54% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.54% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.54% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.54% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.54% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.54% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.54% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.54% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.54% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.54% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.54% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.54% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.54% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.54% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.96% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.96% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.96% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.96% (892,928B) in 3 places, all below massif's threshold (1.00%)
| |
| ->01.58% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.58% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.58% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.57% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.57% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.40% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.40% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.17% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.48% (1,129,229B) in 74 places, all below massif's threshold (1.00%)
|
->01.38% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.38% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.38% (630,497B) 0x17CBC8: {closure
| ->01.38% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.38% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.38% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.38% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.38% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.05% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.05% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.05% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.05% (478,560B) 0x17CBC8: {closure
->01.05% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.05% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.05% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.05% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.05% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
69 923,423,817 46,461,888 45,779,274 682,614 0
70 923,586,694 46,536,368 45,852,634 683,734 0
98.53% (45,852,634B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->54.46% (25,341,688B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->54.46% (25,341,688B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->54.46% (25,341,688B) 0x15FB16: alloc (alloc.rs:98)
| ->54.46% (25,341,688B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->54.46% (25,341,688B) 0x15FB16: allocate (alloc.rs:241)
| ->54.46% (25,341,688B) 0x15FB16: {closure
| ->54.46% (25,341,688B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->54.46% (25,341,688B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->54.46% (25,341,688B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->53.96% (25,111,128B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->53.96% (25,111,128B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->53.96% (25,111,128B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->53.96% (25,111,128B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->53.96% (25,111,128B) 0x135154: merge (clock.rs:56)
| | ->53.96% (25,111,128B) 0x135154: {closure
| | ->53.96% (25,111,128B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->53.96% (25,111,128B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->53.96% (25,111,128B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->53.96% (25,111,128B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->53.96% (25,111,128B) 0x17D33D: {closure
| | ->53.96% (25,111,128B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->53.96% (25,111,128B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->53.96% (25,111,128B) 0x1218EC: am_repro::main (main.rs:12)
| | ->53.96% (25,111,128B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->53.96% (25,111,128B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.50% (230,560B) in 1+ places, all below ms_print's threshold (01.00%)
|
->13.17% (6,128,984B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->09.58% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->09.58% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->09.58% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->09.58% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->09.58% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->09.58% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->09.58% (4,456,448B) 0x17CBC8: {closure
| | | | ->09.58% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->09.58% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->09.58% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->09.58% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->09.58% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.31% (1,075,032B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.28% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.28% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.28% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.28% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.28% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.28% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.25% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.25% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.11% (4,703,424B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->10.11% (4,703,424B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->10.11% (4,703,424B) 0x15FA39: alloc (alloc.rs:98)
| ->10.11% (4,703,424B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->10.11% (4,703,424B) 0x15FA39: allocate (alloc.rs:241)
| ->10.11% (4,703,424B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->10.11% (4,703,424B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->10.11% (4,703,424B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->10.11% (4,703,424B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->10.11% (4,703,424B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->10.11% (4,703,424B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->10.11% (4,703,424B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->10.11% (4,703,424B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->09.54% (4,441,424B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->09.54% (4,441,424B) 0x13502A: merge (clock.rs:64)
| | ->09.54% (4,441,424B) 0x13502A: {closure
| | ->09.54% (4,441,424B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->09.54% (4,441,424B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->09.54% (4,441,424B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->09.54% (4,441,424B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->09.54% (4,441,424B) 0x17D33D: {closure
| | ->09.54% (4,441,424B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->09.54% (4,441,424B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->09.54% (4,441,424B) 0x1218EC: am_repro::main (main.rs:12)
| | ->09.54% (4,441,424B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->09.54% (4,441,424B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.56% (262,000B) in 1+ places, all below ms_print's threshold (01.00%)
|
->07.97% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->07.97% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->07.97% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->07.97% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->07.97% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->07.97% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->07.97% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->07.97% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->07.97% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->07.97% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->07.97% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->07.97% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.38% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.38% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.38% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.38% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.38% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.62% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.62% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.62% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.46% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.49% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.49% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.49% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.49% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.49% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.49% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.49% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.49% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.49% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.49% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.97% (452,192B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.16% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.76% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.76% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.76% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.76% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.76% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.76% (819,216B) 0x17CBC8: {closure
| | | | ->01.76% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.76% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.76% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.76% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.76% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.59% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.59% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.59% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.59% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.59% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.12% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.12% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.65% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.47% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.47% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.47% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.47% (685,264B) 0x17CBC8: {closure
| | | | ->01.47% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.47% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.47% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.47% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.47% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.18% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.18% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.18% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.18% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.18% (548,016B) 0x17CBC8: {closure
| | | ->01.18% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.18% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.18% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.18% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.18% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.47% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.47% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.16% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.16% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.16% (1,938,040B) 0x17CBC8: {closure
| ->04.16% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.16% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.16% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.16% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.16% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.47% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.47% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.47% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.47% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.47% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.47% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.47% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.47% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.47% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.47% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.47% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.47% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.47% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.47% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.47% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.92% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.92% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.92% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.92% (892,928B) in 3 places, all below massif's threshold (1.00%)
| |
| ->01.55% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.55% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.55% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.54% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.54% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.37% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.37% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.17% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.82% (1,310,709B) in 74 places, all below massif's threshold (1.00%)
|
->01.35% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.35% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.35% (630,497B) 0x17CBC8: {closure
| ->01.35% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.35% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.35% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.35% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.35% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.03% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.03% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.03% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.03% (478,560B) 0x17CBC8: {closure
->01.03% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.03% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.03% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.03% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.03% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
71 933,202,228 46,565,560 45,881,186 684,374 0
72 934,743,147 47,272,056 46,577,058 694,998 0
98.53% (46,577,058B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->55.06% (26,026,032B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->55.06% (26,026,032B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->55.06% (26,026,032B) 0x15FB16: alloc (alloc.rs:98)
| ->55.06% (26,026,032B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->55.06% (26,026,032B) 0x15FB16: allocate (alloc.rs:241)
| ->55.06% (26,026,032B) 0x15FB16: {closure
| ->55.06% (26,026,032B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->55.06% (26,026,032B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->55.06% (26,026,032B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->54.56% (25,793,376B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->54.56% (25,793,376B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->54.56% (25,793,376B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->54.56% (25,793,376B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->54.56% (25,793,376B) 0x135154: merge (clock.rs:56)
| | ->54.56% (25,793,376B) 0x135154: {closure
| | ->54.56% (25,793,376B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->54.56% (25,793,376B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->54.56% (25,793,376B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->54.56% (25,793,376B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->54.56% (25,793,376B) 0x17D33D: {closure
| | ->54.56% (25,793,376B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->54.56% (25,793,376B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->54.56% (25,793,376B) 0x1218EC: am_repro::main (main.rs:12)
| | ->54.56% (25,793,376B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->54.56% (25,793,376B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.49% (232,656B) in 1+ places, all below ms_print's threshold (01.00%)
|
->12.97% (6,128,984B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->09.43% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->09.43% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->09.43% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->09.43% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->09.43% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->09.43% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->09.43% (4,456,448B) 0x17CBC8: {closure
| | | | ->09.43% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->09.43% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->09.43% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->09.43% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->09.43% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.27% (1,075,032B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.26% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.26% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.26% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.26% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.26% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.26% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.23% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.23% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.04% (4,746,392B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->10.04% (4,746,392B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->10.04% (4,746,392B) 0x15FA39: alloc (alloc.rs:98)
| ->10.04% (4,746,392B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->10.04% (4,746,392B) 0x15FA39: allocate (alloc.rs:241)
| ->10.04% (4,746,392B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->10.04% (4,746,392B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->10.04% (4,746,392B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->10.04% (4,746,392B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->10.04% (4,746,392B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->10.04% (4,746,392B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->10.04% (4,746,392B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->10.04% (4,746,392B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->09.48% (4,480,200B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->09.48% (4,480,200B) 0x13502A: merge (clock.rs:64)
| | ->09.48% (4,480,200B) 0x13502A: {closure
| | ->09.48% (4,480,200B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->09.48% (4,480,200B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->09.48% (4,480,200B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->09.48% (4,480,200B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->09.48% (4,480,200B) 0x17D33D: {closure
| | ->09.48% (4,480,200B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->09.48% (4,480,200B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->09.48% (4,480,200B) 0x1218EC: am_repro::main (main.rs:12)
| | ->09.48% (4,480,200B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->09.48% (4,480,200B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.56% (266,192B) in 1+ places, all below ms_print's threshold (01.00%)
|
->07.84% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->07.84% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->07.84% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->07.84% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->07.84% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->07.84% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->07.84% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->07.84% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->07.84% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->07.84% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->07.84% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->07.84% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.31% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.31% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.31% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.31% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.31% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.58% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.58% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.58% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.42% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.47% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.47% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.47% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.47% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.47% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.47% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.47% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.47% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.47% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.47% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.96% (452,192B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.15% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.73% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.73% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.73% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.73% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.73% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.73% (819,216B) 0x17CBC8: {closure
| | | | ->01.73% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.73% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.73% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.73% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.73% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.53% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.53% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.53% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.53% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.53% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.07% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.07% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.61% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.45% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.45% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.45% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.45% (685,264B) 0x17CBC8: {closure
| | | | ->01.45% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.45% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.45% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.45% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.45% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.16% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.16% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.16% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.16% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.16% (548,016B) 0x17CBC8: {closure
| | | ->01.16% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.16% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.16% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.16% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.16% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.46% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.46% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.10% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.10% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.10% (1,938,040B) 0x17CBC8: {closure
| ->04.10% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.10% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.10% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.10% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.10% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.41% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.41% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.41% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.41% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.41% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.41% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.41% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.41% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.41% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.41% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.41% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.41% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.41% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.41% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.41% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.89% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.89% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.89% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.89% (892,928B) in 3 places, all below massif's threshold (1.00%)
| |
| ->01.52% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.52% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.52% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.51% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.51% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.35% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.35% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.17% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.77% (1,307,821B) in 74 places, all below massif's threshold (1.00%)
|
->01.33% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.33% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->01.33% (630,497B) 0x17CBC8: {closure
| ->01.33% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->01.33% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->01.33% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
| ->01.33% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->01.33% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->01.01% (478,560B) 0x14EBB1: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (library/std/src/sys/pal/unix/alloc.rs:14)
->01.01% (478,560B) 0x12EF91: automerge::storage::load::reconstruct_document::reconstruct_opset (mod.rs:2836)
->01.01% (478,560B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.01% (478,560B) 0x17CBC8: {closure
->01.01% (478,560B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.01% (478,560B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.01% (478,560B) 0x1218EC: am_repro::main (main.rs:12)
->01.01% (478,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.01% (478,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
73 944,359,102 47,131,424 46,438,370 693,054 0
74 948,020,488 48,034,384 47,327,914 706,470 0
98.53% (47,327,914B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->55.77% (26,786,880B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->55.77% (26,786,880B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->55.77% (26,786,880B) 0x15FB16: alloc (alloc.rs:98)
| ->55.77% (26,786,880B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->55.77% (26,786,880B) 0x15FB16: allocate (alloc.rs:241)
| ->55.77% (26,786,880B) 0x15FB16: {closure
| ->55.77% (26,786,880B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->55.77% (26,786,880B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->55.77% (26,786,880B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->55.29% (26,556,320B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->55.29% (26,556,320B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->55.29% (26,556,320B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->55.29% (26,556,320B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->55.29% (26,556,320B) 0x135154: merge (clock.rs:56)
| | ->55.29% (26,556,320B) 0x135154: {closure
| | ->55.29% (26,556,320B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->55.29% (26,556,320B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->55.29% (26,556,320B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->55.29% (26,556,320B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->55.29% (26,556,320B) 0x17D33D: {closure
| | ->55.29% (26,556,320B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->55.29% (26,556,320B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->55.29% (26,556,320B) 0x1218EC: am_repro::main (main.rs:12)
| | ->55.29% (26,556,320B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->55.29% (26,556,320B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.48% (230,560B) in 1+ places, all below ms_print's threshold (01.00%)
|
->12.76% (6,128,920B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->09.28% (4,456,448B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->09.28% (4,456,448B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->09.28% (4,456,448B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->09.28% (4,456,448B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->09.28% (4,456,448B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->09.28% (4,456,448B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->09.28% (4,456,448B) 0x17CBC8: {closure
| | | | ->09.28% (4,456,448B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->09.28% (4,456,448B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->09.28% (4,456,448B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->09.28% (4,456,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->09.28% (4,456,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.24% (1,074,968B) in 17 places, all below massif's threshold (1.00%)
| |
| ->01.24% (597,504B) 0x11596C: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (raw_vec.rs:433)
| ->01.24% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (raw_vec.rs:309)
| ->01.24% (597,504B) 0x149731: reserve<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:911)
| ->01.24% (597,504B) 0x149731: insert<automerge::op_tree::node::OpTreeNode, alloc::alloc::Global> (mod.rs:1507)
| ->01.24% (597,504B) 0x149731: automerge::op_tree::node::OpTreeNode::split_child (node.rs:228)
| ->01.24% (597,504B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| ->01.22% (583,680B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | ->01.22% (583,680B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.03% (13,824B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.84% (4,726,480B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->09.84% (4,726,480B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->09.84% (4,726,480B) 0x15FA39: alloc (alloc.rs:98)
| ->09.84% (4,726,480B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->09.84% (4,726,480B) 0x15FA39: allocate (alloc.rs:241)
| ->09.84% (4,726,480B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->09.84% (4,726,480B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->09.84% (4,726,480B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->09.84% (4,726,480B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->09.84% (4,726,480B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->09.84% (4,726,480B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->09.84% (4,726,480B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->09.84% (4,726,480B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->09.28% (4,456,096B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->09.28% (4,456,096B) 0x13502A: merge (clock.rs:64)
| | ->09.28% (4,456,096B) 0x13502A: {closure
| | ->09.28% (4,456,096B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->09.28% (4,456,096B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->09.28% (4,456,096B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->09.28% (4,456,096B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->09.28% (4,456,096B) 0x17D33D: {closure
| | ->09.28% (4,456,096B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->09.28% (4,456,096B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->09.28% (4,456,096B) 0x1218EC: am_repro::main (main.rs:12)
| | ->09.28% (4,456,096B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->09.28% (4,456,096B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.56% (270,384B) in 1+ places, all below ms_print's threshold (01.00%)
|
->07.72% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->07.72% (3,707,420B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->07.72% (3,707,420B) 0x1155B1: alloc (alloc.rs:98)
| ->07.72% (3,707,420B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->07.72% (3,707,420B) 0x1155B1: allocate (alloc.rs:241)
| ->07.72% (3,707,420B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->07.72% (3,707,420B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->07.72% (3,707,420B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->07.72% (3,707,420B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->07.72% (3,707,420B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->07.72% (3,707,420B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->07.72% (3,707,420B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.24% (2,038,876B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.24% (2,038,876B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| | ->04.24% (2,038,876B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| | ->04.24% (2,038,876B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| | ->04.24% (2,038,876B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| | ->02.54% (1,219,660B) 0x1494C3: reindex (node.rs:96)
| | | ->02.54% (1,219,660B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.54% (1,218,844B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.39% (1,146,300B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.45% (694,108B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.45% (694,108B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.45% (694,108B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.45% (694,108B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.45% (694,108B) 0x17CBC8: {closure
| | | | | | ->01.45% (694,108B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.45% (694,108B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.45% (694,108B) 0x1218EC: am_repro::main (main.rs:12)
| | | | | | ->01.45% (694,108B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.45% (694,108B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.94% (452,192B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.15% (72,544B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (816B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->01.71% (819,216B) 0x148D76: index_insert (node.rs:148)
| | | ->01.71% (819,216B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | | ->01.71% (819,216B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.71% (819,216B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.71% (819,216B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.71% (819,216B) 0x17CBC8: {closure
| | | | ->01.71% (819,216B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.71% (819,216B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.71% (819,216B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.71% (819,216B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.71% (819,216B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.47% (1,668,544B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.47% (1,668,544B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->03.47% (1,668,544B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->03.47% (1,668,544B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->03.47% (1,668,544B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->03.02% (1,450,912B) 0x149474: reindex (node.rs:92)
| | ->03.02% (1,450,912B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->02.57% (1,233,280B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.43% (685,264B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.43% (685,264B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.43% (685,264B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.43% (685,264B) 0x17CBC8: {closure
| | | | ->01.43% (685,264B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.43% (685,264B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.43% (685,264B) 0x1218EC: am_repro::main (main.rs:12)
| | | | ->01.43% (685,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.43% (685,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->01.14% (548,016B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | ->01.14% (548,016B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.14% (548,016B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.14% (548,016B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.14% (548,016B) 0x17CBC8: {closure
| | | ->01.14% (548,016B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.14% (548,016B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.14% (548,016B) 0x1218EC: am_repro::main (main.rs:12)
| | | ->01.14% (548,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.14% (548,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | |
| | ->00.45% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.45% (217,632B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.03% (1,938,040B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->04.03% (1,938,040B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->04.03% (1,938,040B) 0x17CBC8: {closure
| ->04.03% (1,938,040B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->04.03% (1,938,040B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->04.03% (1,938,040B) 0x1218EC: am_repro::main (main.rs:12)
| ->04.03% (1,938,040B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->04.03% (1,938,040B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->03.74% (1,796,365B) in 75 places, all below massif's threshold (1.00%)
|
->03.36% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.36% (1,613,312B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.36% (1,613,312B) 0x1164BA: alloc (alloc.rs:98)
| ->03.36% (1,613,312B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.36% (1,613,312B) 0x1164BA: allocate (alloc.rs:241)
| ->03.36% (1,613,312B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.36% (1,613,312B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.36% (1,613,312B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.36% (1,613,312B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.36% (1,613,312B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.36% (1,613,312B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.36% (1,613,312B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.36% (1,613,312B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.36% (1,613,312B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.36% (1,613,312B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.86% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.86% (892,928B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.86% (892,928B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| | ->01.86% (892,928B) in 3 places, all below massif's threshold (1.00%)
| |
| ->01.50% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.50% (720,384B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.50% (720,384B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| ->01.49% (715,760B) 0x149474: reindex (node.rs:92)
| | ->01.49% (715,760B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.33% (637,392B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.33% (637,392B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.16% (78,368B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.01% (4,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.31% (630,497B) 0x130349: automerge::storage::load::reconstruct_document::reconstruct_opset (library/std/src/sys/pal/unix/alloc.rs:14)
->01.31% (630,497B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.31% (630,497B) 0x17CBC8: {closure
->01.31% (630,497B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.31% (630,497B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.31% (630,497B) 0x1218EC: am_repro::main (main.rs:12)
->01.31% (630,497B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.31% (630,497B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
75 957,638,466 47,826,952 47,123,290 703,662 0
76 967,723,856 47,855,064 47,148,206 706,858 0
77 977,338,672 29,087,872 28,754,229 333,643 0
78 986,953,215 9,639,296 9,605,969 33,327 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment