Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save josephg/e95787a23850e00d5d9cfac1ea18e9e9 to your computer and use it in GitHub Desktop.
Save josephg/e95787a23850e00d5d9cfac1ea18e9e9 to your computer and use it in GitHub Desktop.
Massif C1_slow
--------------------------------------------------------------------------------
Command: target/profiling/am-repro
Massif arguments: --time-unit=B
ms_print arguments: massif.out.9109
--------------------------------------------------------------------------------
GB
12.66^ #
| @@@#
| ::@@@:::::@ @#
| @@@@@@@: @@ :: ::@ @#
| :::@ @@@ @: @@ :: ::@ @#
| ::@::: :@ @@@ @: @@ :: ::@ @#
| :::::: @::: :@ @@@ @: @@ :: ::@ @#
| :::: : :: @::: :@ @@@ @: @@ :: ::@ @#
| ::@@:: : : :: @::: :@ @@@ @: @@ :: ::@ @#
| @@@::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#
| @@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| @@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| @@@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| @@@@@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| @@@@ @@@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| ::@@@ @@ @@@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| @@: @@@ @@ @@@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| :@@@@: @@@ @@ @@@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| ::@@@:@ @@: @@@ @@ @@@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
| ::::: @ @:@ @@: @@@ @@ @@@@ @::@ :: : : :: @::: :@ @@@ @: @@ :: ::@ @#:
0 +----------------------------------------------------------------------->GB
0 517.8
Number of snapshots: 62
Detailed snapshots: [5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 31, 36, 37, 38, 39, 40, 42, 43, 48, 49, 53 (peak)]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 14,361,150,552 982,947,800 970,197,068 12,750,732 0
2 25,748,538,672 1,247,658,880 1,230,889,812 16,769,068 0
3 31,729,313,112 1,298,633,048 1,281,091,092 17,541,956 0
4 41,541,469,928 1,571,345,176 1,549,666,316 21,678,860 0
5 54,753,638,632 1,700,017,464 1,676,411,620 23,605,844 0
98.61% (1,676,411,620B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->68.19% (1,159,236,816B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->68.19% (1,159,236,816B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->68.19% (1,159,236,816B) 0x15FB16: alloc (alloc.rs:98)
| ->68.19% (1,159,236,816B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->68.19% (1,159,236,816B) 0x15FB16: allocate (alloc.rs:241)
| ->68.19% (1,159,236,816B) 0x15FB16: {closure
| ->68.19% (1,159,236,816B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->68.19% (1,159,236,816B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->68.19% (1,159,236,816B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->68.01% (1,156,099,104B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->68.01% (1,156,099,104B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->68.01% (1,156,099,104B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->68.01% (1,156,099,104B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->68.01% (1,156,099,104B) 0x135154: merge (clock.rs:56)
| | ->68.01% (1,156,099,104B) 0x135154: {closure
| | ->68.01% (1,156,099,104B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->68.01% (1,156,099,104B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->68.01% (1,156,099,104B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->68.01% (1,156,099,104B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->68.01% (1,156,099,104B) 0x17D33D: {closure
| | ->68.01% (1,156,099,104B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->68.01% (1,156,099,104B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->68.01% (1,156,099,104B) 0x12195C: am_repro::main (main.rs:12)
| | ->68.01% (1,156,099,104B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->68.01% (1,156,099,104B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.18% (3,137,712B) in 1+ places, all below ms_print's threshold (01.00%)
|
->10.43% (177,290,072B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->08.39% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->08.39% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->08.39% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->08.39% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->08.39% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->08.39% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->08.39% (142,606,336B) 0x17CBC8: {closure
| | | | ->08.39% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->08.39% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->08.39% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->08.39% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->08.39% (142,606,336B) 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.04% (34,683,736B) in 18 places, all below massif's threshold (1.00%)
|
->07.88% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->07.88% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->07.88% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->07.88% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->07.88% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->07.88% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->07.88% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->07.88% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->07.88% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->07.88% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->07.88% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->07.88% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.53% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.53% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->04.53% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->04.53% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->04.53% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->04.32% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->04.32% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->04.11% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.44% (41,410,496B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.41% (23,979,824B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.41% (23,979,824B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.41% (23,979,824B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.41% (23,979,824B) 0x17CBC8: {closure
| | | | | | ->01.41% (23,979,824B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.41% (23,979,824B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.41% (23,979,824B) 0x12195C: am_repro::main (main.rs:12)
| | | | | | ->01.41% (23,979,824B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.41% (23,979,824B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->01.03% (17,430,672B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.03% (17,430,672B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | ->01.03% (17,430,672B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | ->01.03% (17,430,672B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | ->01.03% (17,430,672B) 0x17CBC8: {closure
| | | | | ->01.03% (17,430,672B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | ->01.03% (17,430,672B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | ->01.03% (17,430,672B) 0x12195C: am_repro::main (main.rs:12)
| | | | | ->01.03% (17,430,672B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | ->01.03% (17,430,672B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | |
| | | | ->01.68% (28,538,608B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.68% (28,538,608B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.68% (28,538,608B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.68% (28,538,608B) 0x17CBC8: {closure
| | | | ->01.68% (28,538,608B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.68% (28,538,608B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.68% (28,538,608B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.68% (28,538,608B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.68% (28,538,608B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.21% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.21% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->03.35% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.35% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.35% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->03.35% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->03.35% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.81% (30,732,396B) 0x1494C3: reindex (node.rs:96)
| | ->01.81% (30,732,396B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.81% (30,731,580B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.80% (30,659,036B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.66% (28,298,940B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.21% (20,502,956B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.21% (20,502,956B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.21% (20,502,956B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.21% (20,502,956B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.21% (20,502,956B) 0x17CBC8: {closure
| | | | | | ->01.21% (20,502,956B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.21% (20,502,956B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.21% (20,502,956B) 0x12195C: am_repro::main (main.rs:12)
| | | | | | ->01.21% (20,502,956B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.21% (20,502,956B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.46% (7,795,984B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.14% (2,360,096B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (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.54% (26,214,416B) 0x148D76: index_insert (node.rs:148)
| | ->01.54% (26,214,416B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | ->01.54% (26,214,416B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.54% (26,214,416B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.54% (26,214,416B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.54% (26,214,416B) 0x17CBC8: {closure
| | | ->01.54% (26,214,416B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.54% (26,214,416B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.54% (26,214,416B) 0x12195C: am_repro::main (main.rs:12)
| | | ->01.54% (26,214,416B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.54% (26,214,416B) 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.36% (57,077,224B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.36% (57,077,224B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.36% (57,077,224B) 0x15FA39: alloc (alloc.rs:98)
| ->03.36% (57,077,224B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->03.36% (57,077,224B) 0x15FA39: allocate (alloc.rs:241)
| ->03.36% (57,077,224B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->03.36% (57,077,224B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->03.36% (57,077,224B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->03.36% (57,077,224B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->03.36% (57,077,224B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->03.36% (57,077,224B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->03.36% (57,077,224B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->03.36% (57,077,224B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->03.31% (56,210,528B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->03.31% (56,210,528B) 0x13502A: merge (clock.rs:64)
| | ->03.31% (56,210,528B) 0x13502A: {closure
| | ->03.31% (56,210,528B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->03.31% (56,210,528B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->03.31% (56,210,528B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->03.31% (56,210,528B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->03.31% (56,210,528B) 0x17D33D: {closure
| | ->03.31% (56,210,528B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->03.31% (56,210,528B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->03.31% (56,210,528B) 0x12195C: am_repro::main (main.rs:12)
| | ->03.31% (56,210,528B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->03.31% (56,210,528B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (866,696B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.10% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.10% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.10% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->03.10% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->03.10% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->03.10% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.10% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.10% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.10% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.10% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.10% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.10% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.10% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->03.10% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->03.10% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.87% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.87% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.87% (31,871,552B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| | ->01.81% (30,687,264B) 0x149474: reindex (node.rs:92)
| | | ->01.81% (30,687,264B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.73% (29,429,232B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.11% (18,820,544B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.11% (18,820,544B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.62% (10,608,688B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.07% (1,258,032B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.07% (1,184,288B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.23% (20,851,520B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.23% (20,851,520B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.23% (20,851,520B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| ->01.23% (20,851,520B) in 3 places, all below massif's threshold (1.00%)
|
->02.85% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
| ->02.85% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| ->02.85% (48,438,520B) 0x17CBC8: {closure
| ->02.85% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
| ->02.85% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| ->02.85% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
| ->02.85% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| ->02.85% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
|
->02.81% (47,767,504B) in 76 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
6 69,587,703,664 1,904,287,760 1,877,641,180 26,646,580 0
98.60% (1,877,641,180B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->70.77% (1,347,682,936B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->70.77% (1,347,682,936B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->70.77% (1,347,682,936B) 0x15FB16: alloc (alloc.rs:98)
| ->70.77% (1,347,682,936B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->70.77% (1,347,682,936B) 0x15FB16: allocate (alloc.rs:241)
| ->70.77% (1,347,682,936B) 0x15FB16: {closure
| ->70.77% (1,347,682,936B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->70.77% (1,347,682,936B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->70.77% (1,347,682,936B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->70.60% (1,344,354,488B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->70.60% (1,344,354,488B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->70.60% (1,344,354,488B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->70.60% (1,344,354,488B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->70.60% (1,344,354,488B) 0x135154: merge (clock.rs:56)
| | ->70.60% (1,344,354,488B) 0x135154: {closure
| | ->70.60% (1,344,354,488B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->70.60% (1,344,354,488B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->70.60% (1,344,354,488B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->70.60% (1,344,354,488B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->70.60% (1,344,354,488B) 0x17D33D: {closure
| | ->70.60% (1,344,354,488B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->70.60% (1,344,354,488B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->70.60% (1,344,354,488B) 0x12195C: am_repro::main (main.rs:12)
| | ->70.60% (1,344,354,488B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->70.60% (1,344,354,488B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.17% (3,328,448B) in 1+ places, all below ms_print's threshold (01.00%)
|
->09.43% (179,652,952B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->07.49% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->07.49% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->07.49% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->07.49% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->07.49% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->07.49% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->07.49% (142,606,336B) 0x17CBC8: {closure
| | | | ->07.49% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->07.49% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->07.49% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->07.49% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->07.49% (142,606,336B) 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.95% (37,046,616B) in 18 places, all below massif's threshold (1.00%)
|
->07.03% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->07.03% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->07.03% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->07.03% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->07.03% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->07.03% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->07.03% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->07.03% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->07.03% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->07.03% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->07.03% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->07.03% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->04.04% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->04.04% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->04.04% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->04.04% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->04.04% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->03.86% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->03.86% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->03.67% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->02.17% (41,410,496B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.26% (23,979,824B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.26% (23,979,824B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.26% (23,979,824B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.26% (23,979,824B) 0x17CBC8: {closure
| | | | | | ->01.26% (23,979,824B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.26% (23,979,824B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.26% (23,979,824B) 0x12195C: am_repro::main (main.rs:12)
| | | | | | ->01.26% (23,979,824B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.26% (23,979,824B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.92% (17,430,672B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->01.50% (28,538,608B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.50% (28,538,608B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.50% (28,538,608B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.50% (28,538,608B) 0x17CBC8: {closure
| | | | ->01.50% (28,538,608B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.50% (28,538,608B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.50% (28,538,608B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.50% (28,538,608B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.50% (28,538,608B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.18% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.18% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.99% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->02.99% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->02.99% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.99% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->02.99% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.61% (30,732,396B) 0x1494C3: reindex (node.rs:96)
| | ->01.61% (30,732,396B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.61% (30,731,580B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.61% (30,659,036B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.49% (28,298,940B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.08% (20,502,956B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | | ->01.08% (20,502,956B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.08% (20,502,956B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.08% (20,502,956B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.08% (20,502,956B) 0x17CBC8: {closure
| | | | | | ->01.08% (20,502,956B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.08% (20,502,956B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.08% (20,502,956B) 0x12195C: am_repro::main (main.rs:12)
| | | | | | ->01.08% (20,502,956B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.08% (20,502,956B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.41% (7,795,984B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->00.12% (2,360,096B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (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.38% (26,214,416B) 0x148D76: index_insert (node.rs:148)
| | ->01.38% (26,214,416B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | ->01.38% (26,214,416B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.38% (26,214,416B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.38% (26,214,416B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.38% (26,214,416B) 0x17CBC8: {closure
| | | ->01.38% (26,214,416B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.38% (26,214,416B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.38% (26,214,416B) 0x12195C: am_repro::main (main.rs:12)
| | | ->01.38% (26,214,416B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.38% (26,214,416B) 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.48% (66,341,544B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.48% (66,341,544B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.48% (66,341,544B) 0x15FA39: alloc (alloc.rs:98)
| ->03.48% (66,341,544B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->03.48% (66,341,544B) 0x15FA39: allocate (alloc.rs:241)
| ->03.48% (66,341,544B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->03.48% (66,341,544B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->03.48% (66,341,544B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->03.48% (66,341,544B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->03.48% (66,341,544B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->03.48% (66,341,544B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->03.48% (66,341,544B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->03.48% (66,341,544B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->03.43% (65,401,488B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->03.43% (65,401,488B) 0x13502A: merge (clock.rs:64)
| | ->03.43% (65,401,488B) 0x13502A: {closure
| | ->03.43% (65,401,488B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->03.43% (65,401,488B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->03.43% (65,401,488B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->03.43% (65,401,488B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->03.43% (65,401,488B) 0x17D33D: {closure
| | ->03.43% (65,401,488B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->03.43% (65,401,488B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->03.43% (65,401,488B) 0x12195C: am_repro::main (main.rs:12)
| | ->03.43% (65,401,488B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->03.43% (65,401,488B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (940,056B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.77% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.77% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->02.77% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->02.77% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->02.77% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->02.77% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->02.77% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->02.77% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->02.77% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->02.77% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->02.77% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->02.77% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->02.77% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->02.77% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->02.77% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.67% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.67% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.67% (31,871,552B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| | ->01.61% (30,687,264B) 0x149474: reindex (node.rs:92)
| | | ->01.61% (30,687,264B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.55% (29,429,232B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.55% (29,429,232B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.07% (1,258,032B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.06% (1,184,288B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.09% (20,851,520B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| ->01.09% (20,851,520B) 0x1457EE: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| ->01.09% (20,851,520B) 0x1457EE: automerge::query::Index::insert (query.rs:191)
| ->01.09% (20,851,520B) in 3 places, all below massif's threshold (1.00%)
|
->02.57% (48,923,744B) in 76 places, all below massif's threshold (1.00%)
|
->02.54% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
->02.54% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->02.54% (48,438,520B) 0x17CBC8: {closure
->02.54% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
->02.54% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->02.54% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
->02.54% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->02.54% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
7 82,261,463,128 2,181,849,928 2,151,012,316 30,837,612 0
8 88,948,829,112 2,370,976,328 2,337,285,924 33,690,404 0
98.58% (2,337,285,924B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->75.28% (1,784,920,064B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->75.28% (1,784,920,064B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->75.28% (1,784,920,064B) 0x15FB16: alloc (alloc.rs:98)
| ->75.28% (1,784,920,064B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->75.28% (1,784,920,064B) 0x15FB16: allocate (alloc.rs:241)
| ->75.28% (1,784,920,064B) 0x15FB16: {closure
| ->75.28% (1,784,920,064B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->75.28% (1,784,920,064B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->75.28% (1,784,920,064B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->75.12% (1,781,183,944B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->75.12% (1,781,183,944B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->75.12% (1,781,183,944B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->75.12% (1,781,183,944B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->75.12% (1,781,183,944B) 0x135154: merge (clock.rs:56)
| | ->75.12% (1,781,183,944B) 0x135154: {closure
| | ->75.12% (1,781,183,944B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->75.12% (1,781,183,944B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->75.12% (1,781,183,944B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->75.12% (1,781,183,944B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->75.12% (1,781,183,944B) 0x17D33D: {closure
| | ->75.12% (1,781,183,944B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->75.12% (1,781,183,944B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->75.12% (1,781,183,944B) 0x12195C: am_repro::main (main.rs:12)
| | ->75.12% (1,781,183,944B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->75.12% (1,781,183,944B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.16% (3,736,120B) in 1+ places, all below ms_print's threshold (01.00%)
|
->07.58% (179,685,784B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->06.01% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->06.01% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->06.01% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->06.01% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->06.01% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->06.01% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->06.01% (142,606,336B) 0x17CBC8: {closure
| | | | ->06.01% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->06.01% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->06.01% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->06.01% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->06.01% (142,606,336B) 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.56% (37,079,448B) in 18 places, all below massif's threshold (1.00%)
|
->05.65% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.65% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.65% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->05.65% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->05.65% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->05.65% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->05.65% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->05.65% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->05.65% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->05.65% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->05.65% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->05.65% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->03.24% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->03.24% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->03.24% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->03.24% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->03.24% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->03.10% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->03.10% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.95% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.75% (41,410,496B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.01% (23,979,824B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | | | ->01.01% (23,979,824B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | | | ->01.01% (23,979,824B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | | | ->01.01% (23,979,824B) 0x17CBC8: {closure
| | | | | | ->01.01% (23,979,824B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | | | ->01.01% (23,979,824B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | | | ->01.01% (23,979,824B) 0x12195C: am_repro::main (main.rs:12)
| | | | | | ->01.01% (23,979,824B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | | | ->01.01% (23,979,824B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | | | |
| | | | | ->00.74% (17,430,672B) in 1+ places, all below ms_print's threshold (01.00%)
| | | | |
| | | | ->01.20% (28,538,608B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.20% (28,538,608B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.20% (28,538,608B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.20% (28,538,608B) 0x17CBC8: {closure
| | | | ->01.20% (28,538,608B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.20% (28,538,608B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.20% (28,538,608B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.20% (28,538,608B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.20% (28,538,608B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.15% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.15% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.40% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->02.40% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->02.40% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.40% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->02.40% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.30% (30,732,396B) 0x1494C3: reindex (node.rs:96)
| | ->01.30% (30,732,396B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.30% (30,731,580B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.29% (30,659,036B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.19% (28,298,940B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.19% (28,298,940B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.10% (2,360,096B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (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.11% (26,214,416B) 0x148D76: index_insert (node.rs:148)
| | ->01.11% (26,214,416B) 0x148D76: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:166)
| | ->01.11% (26,214,416B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | ->01.11% (26,214,416B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | ->01.11% (26,214,416B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.11% (26,214,416B) 0x17CBC8: {closure
| | | ->01.11% (26,214,416B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.11% (26,214,416B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.11% (26,214,416B) 0x12195C: am_repro::main (main.rs:12)
| | | ->01.11% (26,214,416B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.11% (26,214,416B) 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.68% (87,320,408B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.68% (87,320,408B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.68% (87,320,408B) 0x15FA39: alloc (alloc.rs:98)
| ->03.68% (87,320,408B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->03.68% (87,320,408B) 0x15FA39: allocate (alloc.rs:241)
| ->03.68% (87,320,408B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->03.68% (87,320,408B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->03.68% (87,320,408B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->03.68% (87,320,408B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->03.68% (87,320,408B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->03.68% (87,320,408B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->03.68% (87,320,408B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->03.68% (87,320,408B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->03.64% (86,196,952B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->03.64% (86,196,952B) 0x13502A: merge (clock.rs:64)
| | ->03.64% (86,196,952B) 0x13502A: {closure
| | ->03.64% (86,196,952B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->03.64% (86,196,952B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->03.64% (86,196,952B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->03.64% (86,196,952B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->03.64% (86,196,952B) 0x17D33D: {closure
| | ->03.64% (86,196,952B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->03.64% (86,196,952B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->03.64% (86,196,952B) 0x12195C: am_repro::main (main.rs:12)
| | ->03.64% (86,196,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->03.64% (86,196,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (1,123,456B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.22% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.22% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->02.22% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->02.22% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->02.22% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->02.22% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->02.22% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->02.22% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->02.22% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->02.22% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->02.22% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->02.22% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->02.22% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->02.22% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->02.22% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.34% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.34% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.34% (31,871,552B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| | ->01.29% (30,687,264B) 0x149474: reindex (node.rs:92)
| | | ->01.29% (30,687,264B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.24% (29,429,232B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.24% (29,429,232B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.05% (1,258,032B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.05% (1,184,288B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.88% (20,851,520B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.12% (50,319,664B) in 76 places, all below massif's threshold (1.00%)
|
->02.04% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
->02.04% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->02.04% (48,438,520B) 0x17CBC8: {closure
->02.04% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
->02.04% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->02.04% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
->02.04% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->02.04% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
9 101,505,181,016 2,788,812,968 2,748,829,660 39,983,308 0
98.57% (2,748,829,660B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->78.04% (2,176,300,904B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->78.04% (2,176,300,904B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->78.04% (2,176,300,904B) 0x15FB16: alloc (alloc.rs:98)
| ->78.04% (2,176,300,904B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->78.04% (2,176,300,904B) 0x15FB16: allocate (alloc.rs:241)
| ->78.04% (2,176,300,904B) 0x15FB16: {closure
| ->78.04% (2,176,300,904B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->78.04% (2,176,300,904B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->78.04% (2,176,300,904B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->77.89% (2,172,299,640B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->77.89% (2,172,299,640B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->77.89% (2,172,299,640B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->77.89% (2,172,299,640B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->77.89% (2,172,299,640B) 0x135154: merge (clock.rs:56)
| | ->77.89% (2,172,299,640B) 0x135154: {closure
| | ->77.89% (2,172,299,640B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->77.89% (2,172,299,640B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->77.89% (2,172,299,640B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->77.89% (2,172,299,640B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->77.89% (2,172,299,640B) 0x17D33D: {closure
| | ->77.89% (2,172,299,640B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->77.89% (2,172,299,640B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->77.89% (2,172,299,640B) 0x12195C: am_repro::main (main.rs:12)
| | ->77.89% (2,172,299,640B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->77.89% (2,172,299,640B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.14% (4,001,264B) in 1+ places, all below ms_print's threshold (01.00%)
|
->06.47% (180,478,808B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->05.11% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->05.11% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->05.11% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->05.11% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->05.11% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->05.11% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->05.11% (142,606,336B) 0x17CBC8: {closure
| | | | ->05.11% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->05.11% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->05.11% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->05.11% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->05.11% (142,606,336B) 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.36% (37,872,472B) in 18 places, all below massif's threshold (1.00%)
|
->04.80% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.80% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.80% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->04.80% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->04.80% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->04.80% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.80% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.80% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.80% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.80% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.80% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.80% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->02.76% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->02.76% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->02.76% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->02.76% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->02.76% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->02.63% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->02.63% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.51% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.48% (41,410,496B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.48% (41,410,496B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->01.02% (28,538,608B) 0x148692: automerge::op_tree::OpTreeInternal::insert (op_tree.rs:573)
| | | | ->01.02% (28,538,608B) 0x12BF5A: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:374)
| | | | ->01.02% (28,538,608B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.02% (28,538,608B) 0x17CBC8: {closure
| | | | ->01.02% (28,538,608B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.02% (28,538,608B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.02% (28,538,608B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.02% (28,538,608B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.02% (28,538,608B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| | | |
| | | ->00.13% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.13% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->02.04% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->02.04% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->02.04% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->02.04% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->02.04% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.10% (30,732,396B) 0x1494C3: reindex (node.rs:96)
| | ->01.10% (30,732,396B) 0x1494C3: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.10% (30,731,580B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.10% (30,659,036B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | ->01.01% (28,298,940B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.01% (28,298,940B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.08% (2,360,096B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.00% (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%)
| |
| ->00.94% (26,214,416B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.79% (105,614,296B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.79% (105,614,296B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.79% (105,614,296B) 0x15FA39: alloc (alloc.rs:98)
| ->03.79% (105,614,296B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->03.79% (105,614,296B) 0x15FA39: allocate (alloc.rs:241)
| ->03.79% (105,614,296B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->03.79% (105,614,296B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->03.79% (105,614,296B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->03.79% (105,614,296B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->03.79% (105,614,296B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->03.79% (105,614,296B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->03.79% (105,614,296B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->03.79% (105,614,296B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->03.74% (104,329,448B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->03.74% (104,329,448B) 0x13502A: merge (clock.rs:64)
| | ->03.74% (104,329,448B) 0x13502A: {closure
| | ->03.74% (104,329,448B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->03.74% (104,329,448B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->03.74% (104,329,448B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->03.74% (104,329,448B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->03.74% (104,329,448B) 0x17D33D: {closure
| | ->03.74% (104,329,448B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->03.74% (104,329,448B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->03.74% (104,329,448B) 0x12195C: am_repro::main (main.rs:12)
| | ->03.74% (104,329,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->03.74% (104,329,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (1,284,848B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.89% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.89% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->01.89% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->01.89% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->01.89% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->01.89% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->01.89% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->01.89% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->01.89% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->01.89% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->01.89% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->01.89% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.89% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.89% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.89% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.14% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.14% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.14% (31,871,552B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| | ->01.10% (30,687,264B) 0x149474: reindex (node.rs:92)
| | | ->01.10% (30,687,264B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.06% (29,429,232B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.06% (29,429,232B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.05% (1,258,032B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.04% (1,184,288B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.75% (20,851,520B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.84% (51,395,648B) in 76 places, all below massif's threshold (1.00%)
|
->01.74% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
->01.74% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.74% (48,438,520B) 0x17CBC8: {closure
->01.74% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.74% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.74% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
->01.74% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.74% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 110,486,773,056 3,132,309,280 3,087,144,156 45,165,124 0
98.56% (3,087,144,156B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->79.49% (2,489,840,496B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->79.49% (2,489,840,496B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->79.49% (2,489,840,496B) 0x15FB16: alloc (alloc.rs:98)
| ->79.49% (2,489,840,496B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->79.49% (2,489,840,496B) 0x15FB16: allocate (alloc.rs:241)
| ->79.49% (2,489,840,496B) 0x15FB16: {closure
| ->79.49% (2,489,840,496B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->79.49% (2,489,840,496B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->79.49% (2,489,840,496B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->79.35% (2,485,630,680B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->79.35% (2,485,630,680B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->79.35% (2,485,630,680B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->79.35% (2,485,630,680B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->79.35% (2,485,630,680B) 0x135154: merge (clock.rs:56)
| | ->79.35% (2,485,630,680B) 0x135154: {closure
| | ->79.35% (2,485,630,680B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->79.35% (2,485,630,680B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->79.35% (2,485,630,680B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->79.35% (2,485,630,680B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->79.35% (2,485,630,680B) 0x17D33D: {closure
| | ->79.35% (2,485,630,680B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->79.35% (2,485,630,680B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->79.35% (2,485,630,680B) 0x12195C: am_repro::main (main.rs:12)
| | ->79.35% (2,485,630,680B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->79.35% (2,485,630,680B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.13% (4,209,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.76% (180,483,352B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->04.55% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->04.55% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->04.55% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->04.55% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->04.55% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->04.55% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->04.55% (142,606,336B) 0x17CBC8: {closure
| | | | ->04.55% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->04.55% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->04.55% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->04.55% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->04.55% (142,606,336B) 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.21% (37,877,016B) in 18 places, all below massif's threshold (1.00%)
|
->04.27% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.27% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.27% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->04.27% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->04.27% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->04.27% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->04.27% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->04.27% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->04.27% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->04.27% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->04.27% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->04.27% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->02.46% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->02.46% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->02.46% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->02.46% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->02.46% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->02.34% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->02.34% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->02.23% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.32% (41,410,496B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.32% (41,410,496B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.91% (28,538,608B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.11% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.11% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.82% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.82% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.82% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.82% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->01.82% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.82% (56,946,812B) in 3 places, all below massif's threshold (1.00%)
|
->04.12% (129,120,936B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.12% (129,120,936B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.12% (129,120,936B) 0x15FA39: alloc (alloc.rs:98)
| ->04.12% (129,120,936B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.12% (129,120,936B) 0x15FA39: allocate (alloc.rs:241)
| ->04.12% (129,120,936B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.12% (129,120,936B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.12% (129,120,936B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.12% (129,120,936B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.12% (129,120,936B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.12% (129,120,936B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.12% (129,120,936B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.12% (129,120,936B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.08% (127,696,704B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.08% (127,696,704B) 0x13502A: merge (clock.rs:64)
| | ->04.08% (127,696,704B) 0x13502A: {closure
| | ->04.08% (127,696,704B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.08% (127,696,704B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.08% (127,696,704B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.08% (127,696,704B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.08% (127,696,704B) 0x17D33D: {closure
| | ->04.08% (127,696,704B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.08% (127,696,704B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.08% (127,696,704B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.08% (127,696,704B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.08% (127,696,704B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (1,424,232B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.68% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.68% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->01.68% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->01.68% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->01.68% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->01.68% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->01.68% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->01.68% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->01.68% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->01.68% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->01.68% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->01.68% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.68% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.68% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.68% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.02% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (set.rs:1115)
| | ->01.02% (31,871,552B) 0x145CC2: insert<automerge::types::OpId, core::hash::BuildHasherDefault<fxhash::FxHasher>> (set.rs:889)
| | ->01.02% (31,871,552B) 0x145CC2: automerge::query::Index::merge (query.rs:251)
| | ->01.02% (31,871,552B) in 2 places, all below massif's threshold (1.00%)
| |
| ->00.67% (20,851,520B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.68% (52,659,368B) in 76 places, all below massif's threshold (1.00%)
|
->01.55% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
->01.55% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.55% (48,438,520B) 0x17CBC8: {closure
->01.55% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.55% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.55% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
->01.55% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.55% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
11 122,764,756,160 3,411,845,504 3,362,462,684 49,382,820 0
12 131,406,213,736 3,768,695,336 3,713,934,284 54,761,052 0
98.55% (3,713,934,284B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->81.84% (3,084,124,616B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->81.84% (3,084,124,616B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->81.84% (3,084,124,616B) 0x15FB16: alloc (alloc.rs:98)
| ->81.84% (3,084,124,616B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->81.84% (3,084,124,616B) 0x15FB16: allocate (alloc.rs:241)
| ->81.84% (3,084,124,616B) 0x15FB16: {closure
| ->81.84% (3,084,124,616B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->81.84% (3,084,124,616B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->81.84% (3,084,124,616B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->81.72% (3,079,608,784B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->81.72% (3,079,608,784B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->81.72% (3,079,608,784B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->81.72% (3,079,608,784B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->81.72% (3,079,608,784B) 0x135154: merge (clock.rs:56)
| | ->81.72% (3,079,608,784B) 0x135154: {closure
| | ->81.72% (3,079,608,784B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->81.72% (3,079,608,784B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->81.72% (3,079,608,784B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->81.72% (3,079,608,784B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->81.72% (3,079,608,784B) 0x17D33D: {closure
| | ->81.72% (3,079,608,784B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->81.72% (3,079,608,784B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->81.72% (3,079,608,784B) 0x12195C: am_repro::main (main.rs:12)
| | ->81.72% (3,079,608,784B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->81.72% (3,079,608,784B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.12% (4,515,832B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.79% (180,491,096B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->03.78% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->03.78% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->03.78% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->03.78% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->03.78% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->03.78% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.78% (142,606,336B) 0x17CBC8: {closure
| | | | ->03.78% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.78% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.78% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->03.78% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.78% (142,606,336B) 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.01% (37,884,760B) in 18 places, all below massif's threshold (1.00%)
|
->04.25% (160,044,272B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.25% (160,044,272B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.25% (160,044,272B) 0x15FA39: alloc (alloc.rs:98)
| ->04.25% (160,044,272B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.25% (160,044,272B) 0x15FA39: allocate (alloc.rs:241)
| ->04.25% (160,044,272B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.25% (160,044,272B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.25% (160,044,272B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.25% (160,044,272B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.25% (160,044,272B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.25% (160,044,272B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.25% (160,044,272B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.25% (160,044,272B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.20% (158,414,632B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.20% (158,414,632B) 0x13502A: merge (clock.rs:64)
| | ->04.20% (158,414,632B) 0x13502A: {closure
| | ->04.20% (158,414,632B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.20% (158,414,632B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.20% (158,414,632B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.20% (158,414,632B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.20% (158,414,632B) 0x17D33D: {closure
| | ->04.20% (158,414,632B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.20% (158,414,632B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.20% (158,414,632B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.20% (158,414,632B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.20% (158,414,632B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (1,629,640B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.55% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.55% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.55% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->03.55% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->03.55% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->03.55% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.55% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.55% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.55% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.55% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.55% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.55% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->02.04% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->02.04% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->02.04% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->02.04% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->02.04% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->01.95% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->01.95% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.86% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.10% (41,410,496B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.10% (41,410,496B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.76% (28,538,608B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.09% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.09% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.51% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.51% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.51% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.51% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->01.51% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.51% (56,946,812B) in 3 places, all below massif's threshold (1.00%)
|
->01.44% (54,234,296B) in 76 places, all below massif's threshold (1.00%)
|
->01.40% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.40% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->01.40% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->01.40% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->01.40% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->01.40% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->01.40% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->01.40% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->01.40% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->01.40% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->01.40% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->01.40% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.40% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.40% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.40% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.40% (52,723,072B) in 2 places, all below massif's threshold (1.00%)
|
->01.29% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
->01.29% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.29% (48,438,520B) 0x17CBC8: {closure
->01.29% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.29% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.29% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
->01.29% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.29% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
13 143,498,301,216 3,884,061,552 3,827,561,124 56,500,428 0
98.55% (3,827,561,124B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->82.32% (3,197,371,496B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->82.32% (3,197,371,496B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->82.32% (3,197,371,496B) 0x15FB16: alloc (alloc.rs:98)
| ->82.32% (3,197,371,496B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->82.32% (3,197,371,496B) 0x15FB16: allocate (alloc.rs:241)
| ->82.32% (3,197,371,496B) 0x15FB16: {closure
| ->82.32% (3,197,371,496B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->82.32% (3,197,371,496B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->82.32% (3,197,371,496B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->82.20% (3,192,805,360B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->82.20% (3,192,805,360B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->82.20% (3,192,805,360B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->82.20% (3,192,805,360B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->82.20% (3,192,805,360B) 0x135154: merge (clock.rs:56)
| | ->82.20% (3,192,805,360B) 0x135154: {closure
| | ->82.20% (3,192,805,360B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->82.20% (3,192,805,360B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->82.20% (3,192,805,360B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->82.20% (3,192,805,360B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->82.20% (3,192,805,360B) 0x17D33D: {closure
| | ->82.20% (3,192,805,360B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->82.20% (3,192,805,360B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->82.20% (3,192,805,360B) 0x12195C: am_repro::main (main.rs:12)
| | ->82.20% (3,192,805,360B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->82.20% (3,192,805,360B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.12% (4,566,136B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.65% (180,492,312B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->03.67% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->03.67% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->03.67% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->03.67% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->03.67% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->03.67% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.67% (142,606,336B) 0x17CBC8: {closure
| | | | ->03.67% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.67% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.67% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->03.67% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.67% (142,606,336B) 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.98% (37,885,976B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.13% (160,339,808B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.13% (160,339,808B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.13% (160,339,808B) 0x15FA39: alloc (alloc.rs:98)
| ->04.13% (160,339,808B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.13% (160,339,808B) 0x15FA39: allocate (alloc.rs:241)
| ->04.13% (160,339,808B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.13% (160,339,808B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.13% (160,339,808B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.13% (160,339,808B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.13% (160,339,808B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.13% (160,339,808B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.13% (160,339,808B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.13% (160,339,808B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.09% (158,670,344B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.09% (158,670,344B) 0x13502A: merge (clock.rs:64)
| | ->04.09% (158,670,344B) 0x13502A: {closure
| | ->04.09% (158,670,344B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.09% (158,670,344B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.09% (158,670,344B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.09% (158,670,344B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.09% (158,670,344B) 0x17D33D: {closure
| | ->04.09% (158,670,344B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.09% (158,670,344B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.09% (158,670,344B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.09% (158,670,344B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.09% (158,670,344B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (1,669,464B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.45% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.45% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.45% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->03.45% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->03.45% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->03.45% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.45% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.45% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.45% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.45% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.45% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.45% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.98% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->01.98% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->01.98% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->01.98% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->01.98% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->01.89% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->01.89% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.80% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.07% (41,410,496B) 0x148F14: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:0)
| | | | | ->01.07% (41,410,496B) in 2 places, all below massif's threshold (1.00%)
| | | | |
| | | | ->00.73% (28,538,608B) in 1+ places, all below ms_print's threshold (01.00%)
| | | |
| | | ->00.09% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.09% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.47% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.47% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.47% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.47% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->01.47% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.47% (56,946,812B) in 3 places, all below massif's threshold (1.00%)
|
->01.40% (54,317,504B) in 76 places, all below massif's threshold (1.00%)
|
->01.36% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.36% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->01.36% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->01.36% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->01.36% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->01.36% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->01.36% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->01.36% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->01.36% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->01.36% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->01.36% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->01.36% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.36% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.36% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.36% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.36% (52,723,072B) in 2 places, all below massif's threshold (1.00%)
|
->01.25% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
->01.25% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.25% (48,438,520B) 0x17CBC8: {closure
->01.25% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.25% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.25% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
->01.25% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.25% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
14 151,968,204,416 4,215,752,352 4,154,252,084 61,500,268 0
98.54% (4,154,252,084B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->83.16% (3,505,765,408B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->83.16% (3,505,765,408B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->83.16% (3,505,765,408B) 0x15FB16: alloc (alloc.rs:98)
| ->83.16% (3,505,765,408B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->83.16% (3,505,765,408B) 0x15FB16: allocate (alloc.rs:241)
| ->83.16% (3,505,765,408B) 0x15FB16: {closure
| ->83.16% (3,505,765,408B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->83.16% (3,505,765,408B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->83.16% (3,505,765,408B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->83.05% (3,501,074,560B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->83.05% (3,501,074,560B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->83.05% (3,501,074,560B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->83.05% (3,501,074,560B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->83.05% (3,501,074,560B) 0x135154: merge (clock.rs:56)
| | ->83.05% (3,501,074,560B) 0x135154: {closure
| | ->83.05% (3,501,074,560B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->83.05% (3,501,074,560B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->83.05% (3,501,074,560B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->83.05% (3,501,074,560B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->83.05% (3,501,074,560B) 0x17D33D: {closure
| | ->83.05% (3,501,074,560B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->83.05% (3,501,074,560B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->83.05% (3,501,074,560B) 0x12195C: am_repro::main (main.rs:12)
| | ->83.05% (3,501,074,560B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->83.05% (3,501,074,560B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.11% (4,690,848B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.28% (180,495,960B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->03.38% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->03.38% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->03.38% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->03.38% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->03.38% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->03.38% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.38% (142,606,336B) 0x17CBC8: {closure
| | | | ->03.38% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.38% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.38% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->03.38% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.38% (142,606,336B) 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.90% (37,889,624B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.22% (177,818,352B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.22% (177,818,352B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.22% (177,818,352B) 0x15FA39: alloc (alloc.rs:98)
| ->04.22% (177,818,352B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.22% (177,818,352B) 0x15FA39: allocate (alloc.rs:241)
| ->04.22% (177,818,352B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.22% (177,818,352B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.22% (177,818,352B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.22% (177,818,352B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.22% (177,818,352B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.22% (177,818,352B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.22% (177,818,352B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.22% (177,818,352B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.18% (176,023,128B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.18% (176,023,128B) 0x13502A: merge (clock.rs:64)
| | ->04.18% (176,023,128B) 0x13502A: {closure
| | ->04.18% (176,023,128B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.18% (176,023,128B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.18% (176,023,128B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.18% (176,023,128B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.18% (176,023,128B) 0x17D33D: {closure
| | ->04.18% (176,023,128B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.18% (176,023,128B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.18% (176,023,128B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.18% (176,023,128B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.18% (176,023,128B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (1,795,224B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.18% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->03.18% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->03.18% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->03.18% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->03.18% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->03.18% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->03.18% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->03.18% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->03.18% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->03.18% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->03.18% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->03.18% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.82% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->01.82% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->01.82% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->01.82% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->01.82% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->01.74% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->01.74% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.66% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.66% (69,949,104B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.08% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.08% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.35% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.35% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.35% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.35% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->01.35% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.35% (56,946,812B) in 3 places, all below massif's threshold (1.00%)
|
->01.31% (55,132,360B) in 76 places, all below massif's threshold (1.00%)
|
->01.25% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.25% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->01.25% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->01.25% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->01.25% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->01.25% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->01.25% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->01.25% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->01.25% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->01.25% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->01.25% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->01.25% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.25% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.25% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.25% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.25% (52,723,072B) in 2 places, all below massif's threshold (1.00%)
|
->01.15% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
->01.15% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.15% (48,438,520B) 0x17CBC8: {closure
->01.15% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.15% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.15% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
->01.15% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.15% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
15 164,309,290,336 4,698,381,072 4,629,643,292 68,737,780 0
98.54% (4,629,643,292B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->83.96% (3,944,564,056B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->83.96% (3,944,564,056B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->83.96% (3,944,564,056B) 0x15FB16: alloc (alloc.rs:98)
| ->83.96% (3,944,564,056B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->83.96% (3,944,564,056B) 0x15FB16: allocate (alloc.rs:241)
| ->83.96% (3,944,564,056B) 0x15FB16: {closure
| ->83.96% (3,944,564,056B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->83.96% (3,944,564,056B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->83.96% (3,944,564,056B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->83.85% (3,939,700,288B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->83.85% (3,939,700,288B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->83.85% (3,939,700,288B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->83.85% (3,939,700,288B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->83.85% (3,939,700,288B) 0x135154: merge (clock.rs:56)
| | ->83.85% (3,939,700,288B) 0x135154: {closure
| | ->83.85% (3,939,700,288B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->83.85% (3,939,700,288B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->83.85% (3,939,700,288B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->83.85% (3,939,700,288B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->83.85% (3,939,700,288B) 0x17D33D: {closure
| | ->83.85% (3,939,700,288B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->83.85% (3,939,700,288B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->83.85% (3,939,700,288B) 0x12195C: am_repro::main (main.rs:12)
| | ->83.85% (3,939,700,288B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->83.85% (3,939,700,288B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.10% (4,863,768B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.48% (210,296,920B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.48% (210,296,920B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.48% (210,296,920B) 0x15FA39: alloc (alloc.rs:98)
| ->04.48% (210,296,920B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.48% (210,296,920B) 0x15FA39: allocate (alloc.rs:241)
| ->04.48% (210,296,920B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.48% (210,296,920B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.48% (210,296,920B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.48% (210,296,920B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.48% (210,296,920B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.48% (210,296,920B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.48% (210,296,920B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.48% (210,296,920B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.43% (208,345,544B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.43% (208,345,544B) 0x13502A: merge (clock.rs:64)
| | ->04.43% (208,345,544B) 0x13502A: {closure
| | ->04.43% (208,345,544B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.43% (208,345,544B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.43% (208,345,544B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.43% (208,345,544B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.43% (208,345,544B) 0x17D33D: {closure
| | ->04.43% (208,345,544B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.43% (208,345,544B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.43% (208,345,544B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.43% (208,345,544B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.43% (208,345,544B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (1,951,376B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.84% (180,500,632B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->03.04% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->03.04% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->03.04% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->03.04% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->03.04% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->03.04% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->03.04% (142,606,336B) 0x17CBC8: {closure
| | | | ->03.04% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->03.04% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->03.04% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->03.04% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->03.04% (142,606,336B) 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.81% (37,894,296B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.85% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.85% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->02.85% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->02.85% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->02.85% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->02.85% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->02.85% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->02.85% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->02.85% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->02.85% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->02.85% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->02.85% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.64% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->01.64% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->01.64% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->01.64% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->01.64% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->01.56% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->01.56% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.49% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.49% (69,949,104B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.07% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.07% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.21% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.21% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.21% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.21% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->01.21% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.21% (56,946,812B) in 3 places, all below massif's threshold (1.00%)
|
->01.26% (59,241,680B) in 76 places, all below massif's threshold (1.00%)
|
->01.12% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->01.12% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->01.12% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
| ->01.12% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
| ->01.12% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
| ->01.12% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->01.12% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->01.12% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->01.12% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->01.12% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->01.12% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->01.12% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.12% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.12% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.12% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.12% (52,723,072B) in 2 places, all below massif's threshold (1.00%)
|
->01.03% (48,438,520B) 0x1321AD: automerge::storage::load::reconstruct_document::reconstruct_opset (alloc.rs:98)
->01.03% (48,438,520B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
->01.03% (48,438,520B) 0x17CBC8: {closure
->01.03% (48,438,520B) 0x17CBC8: load_with_options (automerge.rs:588)
->01.03% (48,438,520B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
->01.03% (48,438,520B) 0x12195C: am_repro::main (main.rs:12)
->01.03% (48,438,520B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
->01.03% (48,438,520B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
16 175,163,914,848 5,116,381,952 5,041,345,724 75,036,228 0
98.53% (5,041,345,724B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->84.52% (4,324,180,048B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->84.52% (4,324,180,048B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->84.52% (4,324,180,048B) 0x15FB16: alloc (alloc.rs:98)
| ->84.52% (4,324,180,048B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->84.52% (4,324,180,048B) 0x15FB16: allocate (alloc.rs:241)
| ->84.52% (4,324,180,048B) 0x15FB16: {closure
| ->84.52% (4,324,180,048B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->84.52% (4,324,180,048B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->84.52% (4,324,180,048B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->84.42% (4,319,159,080B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->84.42% (4,319,159,080B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->84.42% (4,319,159,080B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->84.42% (4,319,159,080B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->84.42% (4,319,159,080B) 0x135154: merge (clock.rs:56)
| | ->84.42% (4,319,159,080B) 0x135154: {closure
| | ->84.42% (4,319,159,080B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->84.42% (4,319,159,080B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->84.42% (4,319,159,080B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->84.42% (4,319,159,080B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->84.42% (4,319,159,080B) 0x17D33D: {closure
| | ->84.42% (4,319,159,080B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->84.42% (4,319,159,080B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->84.42% (4,319,159,080B) 0x12195C: am_repro::main (main.rs:12)
| | ->84.42% (4,319,159,080B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->84.42% (4,319,159,080B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.10% (5,020,968B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.71% (241,091,352B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.71% (241,091,352B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.71% (241,091,352B) 0x15FA39: alloc (alloc.rs:98)
| ->04.71% (241,091,352B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.71% (241,091,352B) 0x15FA39: allocate (alloc.rs:241)
| ->04.71% (241,091,352B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.71% (241,091,352B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.71% (241,091,352B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.71% (241,091,352B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.71% (241,091,352B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.71% (241,091,352B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.71% (241,091,352B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.71% (241,091,352B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.67% (239,026,792B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.67% (239,026,792B) 0x13502A: merge (clock.rs:64)
| | ->04.67% (239,026,792B) 0x13502A: {closure
| | ->04.67% (239,026,792B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.67% (239,026,792B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.67% (239,026,792B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.67% (239,026,792B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.67% (239,026,792B) 0x17D33D: {closure
| | ->04.67% (239,026,792B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.67% (239,026,792B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.67% (239,026,792B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.67% (239,026,792B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.67% (239,026,792B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (2,064,560B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.53% (180,504,536B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->02.79% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->02.79% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->02.79% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->02.79% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->02.79% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->02.79% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.79% (142,606,336B) 0x17CBC8: {closure
| | | | ->02.79% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.79% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.79% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->02.79% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.79% (142,606,336B) 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.74% (37,898,200B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.62% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->02.62% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->02.62% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
| ->02.62% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
| ->02.62% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
| ->02.62% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
| ->02.62% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
| ->02.62% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
| ->02.62% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
| ->02.62% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
| ->02.62% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
| ->02.62% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
| ->01.50% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| | ->01.50% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| | ->01.50% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| | ->01.50% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| | ->01.50% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| | ->01.44% (73,443,552B) 0x149474: reindex (node.rs:92)
| | | ->01.44% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | | ->01.37% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | | ->01.37% (69,949,104B) in 2 places, all below massif's threshold (1.00%)
| | | |
| | | ->00.07% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| | |
| | ->00.07% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->01.11% (56,946,812B) 0x145518: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.11% (56,946,812B) 0x145518: find_or_find_insert_slot<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
| ->01.11% (56,946,812B) 0x145518: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
| ->01.11% (56,946,812B) 0x145B5C: insert<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1105)
| ->01.11% (56,946,812B) 0x145B5C: automerge::query::Index::insert (query.rs:212)
| ->01.11% (56,946,812B) in 3 places, all below massif's threshold (1.00%)
|
->02.13% (108,968,304B) in 77 places, all below massif's threshold (1.00%)
|
->01.03% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.03% (52,723,072B) 0x1164BA: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.03% (52,723,072B) 0x1164BA: alloc (alloc.rs:98)
->01.03% (52,723,072B) 0x1164BA: UnknownInlinedFun (alloc.rs:181)
->01.03% (52,723,072B) 0x1164BA: allocate (alloc.rs:241)
->01.03% (52,723,072B) 0x1164BA: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.03% (52,723,072B) 0x1164BA: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.03% (52,723,072B) 0x1164BA: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.03% (52,723,072B) 0x1164BA: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.03% (52,723,072B) 0x1164BA: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.03% (52,723,072B) 0x1164BA: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.03% (52,723,072B) 0x1164BA: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.03% (52,723,072B) 0x146588: reserve<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
->01.03% (52,723,072B) 0x146588: find_or_find_insert_slot<(automerge::types::OpId, ()), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env
->01.03% (52,723,072B) 0x146588: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
->01.03% (52,723,072B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
17 187,122,670,880 5,798,823,904 5,713,521,916 85,301,988 0
98.53% (5,713,521,916B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->85.05% (4,932,179,344B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->85.05% (4,932,179,344B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->85.05% (4,932,179,344B) 0x15FB16: alloc (alloc.rs:98)
| ->85.05% (4,932,179,344B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->85.05% (4,932,179,344B) 0x15FB16: allocate (alloc.rs:241)
| ->85.05% (4,932,179,344B) 0x15FB16: {closure
| ->85.05% (4,932,179,344B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->85.05% (4,932,179,344B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->85.05% (4,932,179,344B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->84.96% (4,926,907,904B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->84.96% (4,926,907,904B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->84.96% (4,926,907,904B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->84.96% (4,926,907,904B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->84.96% (4,926,907,904B) 0x135154: merge (clock.rs:56)
| | ->84.96% (4,926,907,904B) 0x135154: {closure
| | ->84.96% (4,926,907,904B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->84.96% (4,926,907,904B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->84.96% (4,926,907,904B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->84.96% (4,926,907,904B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->84.96% (4,926,907,904B) 0x17D33D: {closure
| | ->84.96% (4,926,907,904B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->84.96% (4,926,907,904B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->84.96% (4,926,907,904B) 0x12195C: am_repro::main (main.rs:12)
| | ->84.96% (4,926,907,904B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->84.96% (4,926,907,904B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.09% (5,271,440B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.20% (301,795,704B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.20% (301,795,704B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.20% (301,795,704B) 0x15FA39: alloc (alloc.rs:98)
| ->05.20% (301,795,704B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.20% (301,795,704B) 0x15FA39: allocate (alloc.rs:241)
| ->05.20% (301,795,704B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.20% (301,795,704B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.20% (301,795,704B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.20% (301,795,704B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.20% (301,795,704B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.20% (301,795,704B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.20% (301,795,704B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.20% (301,795,704B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.16% (299,495,344B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.16% (299,495,344B) 0x13502A: merge (clock.rs:64)
| | ->05.16% (299,495,344B) 0x13502A: {closure
| | ->05.16% (299,495,344B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.16% (299,495,344B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.16% (299,495,344B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.16% (299,495,344B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.16% (299,495,344B) 0x17D33D: {closure
| | ->05.16% (299,495,344B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.16% (299,495,344B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.16% (299,495,344B) 0x12195C: am_repro::main (main.rs:12)
| | ->05.16% (299,495,344B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.16% (299,495,344B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (2,300,360B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.11% (180,510,104B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->02.46% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->02.46% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->02.46% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->02.46% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->02.46% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->02.46% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.46% (142,606,336B) 0x17CBC8: {closure
| | | | ->02.46% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.46% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.46% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->02.46% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.46% (142,606,336B) 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.65% (37,903,768B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.85% (165,158,352B) in 78 places, all below massif's threshold (1.00%)
|
->02.31% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->02.31% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->02.31% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->02.31% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->02.31% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->02.31% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->02.31% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->02.31% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->02.31% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->02.31% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->02.31% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->02.31% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.33% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.33% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->01.33% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->01.33% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->01.33% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->01.27% (73,443,552B) 0x149474: reindex (node.rs:92)
| | ->01.27% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.21% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.21% (69,949,104B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.06% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.06% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
|
->00.98% (56,946,812B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
18 194,537,339,488 6,165,177,040 6,074,420,140 90,756,900 0
98.53% (6,074,420,140B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->85.18% (5,251,280,672B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->85.18% (5,251,280,672B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->85.18% (5,251,280,672B) 0x15FB16: alloc (alloc.rs:98)
| ->85.18% (5,251,280,672B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->85.18% (5,251,280,672B) 0x15FB16: allocate (alloc.rs:241)
| ->85.18% (5,251,280,672B) 0x15FB16: {closure
| ->85.18% (5,251,280,672B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->85.18% (5,251,280,672B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->85.18% (5,251,280,672B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->85.09% (5,245,906,528B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->85.09% (5,245,906,528B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->85.09% (5,245,906,528B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->85.09% (5,245,906,528B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->85.09% (5,245,906,528B) 0x135154: merge (clock.rs:56)
| | ->85.09% (5,245,906,528B) 0x135154: {closure
| | ->85.09% (5,245,906,528B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->85.09% (5,245,906,528B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->85.09% (5,245,906,528B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->85.09% (5,245,906,528B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->85.09% (5,245,906,528B) 0x17D33D: {closure
| | ->85.09% (5,245,906,528B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->85.09% (5,245,906,528B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->85.09% (5,245,906,528B) 0x12195C: am_repro::main (main.rs:12)
| | ->85.09% (5,245,906,528B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->85.09% (5,245,906,528B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.09% (5,374,144B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.47% (337,482,200B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.47% (337,482,200B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.47% (337,482,200B) 0x15FA39: alloc (alloc.rs:98)
| ->05.47% (337,482,200B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.47% (337,482,200B) 0x15FA39: allocate (alloc.rs:241)
| ->05.47% (337,482,200B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.47% (337,482,200B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.47% (337,482,200B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.47% (337,482,200B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.47% (337,482,200B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.47% (337,482,200B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.47% (337,482,200B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.47% (337,482,200B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.43% (335,060,272B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.43% (335,060,272B) 0x13502A: merge (clock.rs:64)
| | ->05.43% (335,060,272B) 0x13502A: {closure
| | ->05.43% (335,060,272B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.43% (335,060,272B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.43% (335,060,272B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.43% (335,060,272B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.43% (335,060,272B) 0x17D33D: {closure
| | ->05.43% (335,060,272B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.43% (335,060,272B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.43% (335,060,272B) 0x12195C: am_repro::main (main.rs:12)
| | ->05.43% (335,060,272B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.43% (335,060,272B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (2,421,928B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.01% (185,280,408B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->02.31% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->02.31% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->02.31% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->02.31% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->02.31% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->02.31% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.31% (142,606,336B) 0x17CBC8: {closure
| | | | ->02.31% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.31% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.31% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->02.31% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.31% (142,606,336B) 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.69% (42,674,072B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.70% (166,498,448B) in 78 places, all below massif's threshold (1.00%)
|
->02.17% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->02.17% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->02.17% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->02.17% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->02.17% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->02.17% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->02.17% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->02.17% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->02.17% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->02.17% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->02.17% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->02.17% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.25% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.25% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->01.25% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->01.25% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->01.25% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->01.19% (73,443,552B) 0x149474: reindex (node.rs:92)
| | ->01.19% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.13% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.13% (69,949,104B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.06% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.06% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
|
->00.92% (56,946,812B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
19 206,605,388,600 6,817,529,832 6,716,947,348 100,582,484 0
98.52% (6,716,947,348B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->85.96% (5,860,358,360B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->85.96% (5,860,358,360B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->85.96% (5,860,358,360B) 0x15FB16: alloc (alloc.rs:98)
| ->85.96% (5,860,358,360B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->85.96% (5,860,358,360B) 0x15FB16: allocate (alloc.rs:241)
| ->85.96% (5,860,358,360B) 0x15FB16: {closure
| ->85.96% (5,860,358,360B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->85.96% (5,860,358,360B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->85.96% (5,860,358,360B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->85.88% (5,854,796,624B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->85.88% (5,854,796,624B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->85.88% (5,854,796,624B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->85.88% (5,854,796,624B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->85.88% (5,854,796,624B) 0x135154: merge (clock.rs:56)
| | ->85.88% (5,854,796,624B) 0x135154: {closure
| | ->85.88% (5,854,796,624B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->85.88% (5,854,796,624B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->85.88% (5,854,796,624B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->85.88% (5,854,796,624B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->85.88% (5,854,796,624B) 0x17D33D: {closure
| | ->85.88% (5,854,796,624B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->85.88% (5,854,796,624B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->85.88% (5,854,796,624B) 0x12195C: am_repro::main (main.rs:12)
| | ->85.88% (5,854,796,624B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->85.88% (5,854,796,624B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.08% (5,561,736B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.42% (369,684,096B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.42% (369,684,096B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.42% (369,684,096B) 0x15FA39: alloc (alloc.rs:98)
| ->05.42% (369,684,096B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.42% (369,684,096B) 0x15FA39: allocate (alloc.rs:241)
| ->05.42% (369,684,096B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.42% (369,684,096B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.42% (369,684,096B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.42% (369,684,096B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.42% (369,684,096B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.42% (369,684,096B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.42% (369,684,096B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.42% (369,684,096B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.38% (367,073,528B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.38% (367,073,528B) 0x13502A: merge (clock.rs:64)
| | ->05.38% (367,073,528B) 0x13502A: {closure
| | ->05.38% (367,073,528B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.38% (367,073,528B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.38% (367,073,528B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.38% (367,073,528B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.38% (367,073,528B) 0x17D33D: {closure
| | ->05.38% (367,073,528B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.38% (367,073,528B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.38% (367,073,528B) 0x12195C: am_repro::main (main.rs:12)
| | ->05.38% (367,073,528B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.38% (367,073,528B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (2,610,568B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.72% (185,285,336B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->02.09% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->02.09% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->02.09% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->02.09% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->02.09% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->02.09% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->02.09% (142,606,336B) 0x17CBC8: {closure
| | | | ->02.09% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->02.09% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->02.09% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->02.09% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->02.09% (142,606,336B) 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.63% (42,679,000B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.46% (167,741,144B) in 78 places, all below massif's threshold (1.00%)
|
->01.96% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.96% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.96% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.96% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.96% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.96% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.96% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.96% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.96% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.96% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.96% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.96% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.13% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.13% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->01.13% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->01.13% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->01.13% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->01.08% (73,443,552B) 0x149474: reindex (node.rs:92)
| | ->01.08% (73,443,552B) 0x149474: automerge::op_tree::node::OpTreeNode::split_child (node.rs:225)
| | ->01.03% (69,949,104B) 0x148DF4: automerge::op_tree::node::OpTreeNode::insert_into_non_full_node (node.rs:176)
| | | ->01.03% (69,949,104B) in 2 places, all below massif's threshold (1.00%)
| | |
| | ->00.05% (3,494,448B) in 1+ places, all below ms_print's threshold (01.00%)
| |
| ->00.05% (3,488,048B) in 1+ places, all below ms_print's threshold (01.00%)
|
->00.84% (56,946,812B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
20 216,177,231,512 7,509,469,896 7,398,466,668 111,003,228 0
98.52% (7,398,466,668B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->86.27% (6,478,201,520B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->86.27% (6,478,201,520B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->86.27% (6,478,201,520B) 0x15FB16: alloc (alloc.rs:98)
| ->86.27% (6,478,201,520B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->86.27% (6,478,201,520B) 0x15FB16: allocate (alloc.rs:241)
| ->86.27% (6,478,201,520B) 0x15FB16: {closure
| ->86.27% (6,478,201,520B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->86.27% (6,478,201,520B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->86.27% (6,478,201,520B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->86.19% (6,472,462,672B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->86.19% (6,472,462,672B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->86.19% (6,472,462,672B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->86.19% (6,472,462,672B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->86.19% (6,472,462,672B) 0x135154: merge (clock.rs:56)
| | ->86.19% (6,472,462,672B) 0x135154: {closure
| | ->86.19% (6,472,462,672B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->86.19% (6,472,462,672B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->86.19% (6,472,462,672B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->86.19% (6,472,462,672B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->86.19% (6,472,462,672B) 0x17D33D: {closure
| | ->86.19% (6,472,462,672B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->86.19% (6,472,462,672B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->86.19% (6,472,462,672B) 0x12195C: am_repro::main (main.rs:12)
| | ->86.19% (6,472,462,672B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->86.19% (6,472,462,672B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.08% (5,738,848B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.74% (431,195,408B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.74% (431,195,408B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.74% (431,195,408B) 0x15FA39: alloc (alloc.rs:98)
| ->05.74% (431,195,408B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.74% (431,195,408B) 0x15FA39: allocate (alloc.rs:241)
| ->05.74% (431,195,408B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.74% (431,195,408B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.74% (431,195,408B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.74% (431,195,408B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.74% (431,195,408B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.74% (431,195,408B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.74% (431,195,408B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.74% (431,195,408B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.70% (428,367,904B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.70% (428,367,904B) 0x13502A: merge (clock.rs:64)
| | ->05.70% (428,367,904B) 0x13502A: {closure
| | ->05.70% (428,367,904B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.70% (428,367,904B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.70% (428,367,904B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.70% (428,367,904B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.70% (428,367,904B) 0x17D33D: {closure
| | ->05.70% (428,367,904B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.70% (428,367,904B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.70% (428,367,904B) 0x12195C: am_repro::main (main.rs:12)
| | ->05.70% (428,367,904B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.70% (428,367,904B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (2,827,504B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.47% (185,289,944B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.90% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.90% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.90% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.90% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.90% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.90% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.90% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.90% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.90% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.90% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.90% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.90% (142,606,336B) 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.57% (42,683,608B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.26% (169,901,384B) in 78 places, all below massif's threshold (1.00%)
|
->01.78% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.78% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.78% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.78% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.78% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.78% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.78% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.78% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.78% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.78% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.78% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.78% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.02% (76,931,600B) 0x146051: reserve<(automerge::types::Key, usize), alloc::alloc::Global, hashbrown::map::make_hasher::{closure_env
| ->01.02% (76,931,600B) 0x146051: reserve<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (map.rs:1106)
| ->01.02% (76,931,600B) 0x146051: rustc_entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>, alloc::alloc::Global> (rustc_entry.rs:46)
| ->01.02% (76,931,600B) 0x146051: entry<automerge::types::Key, usize, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:856)
| ->01.02% (76,931,600B) 0x146051: automerge::query::Index::merge (query.rs:255)
| ->01.02% (76,931,600B) in 2 places, all below massif's threshold (1.00%)
|
->00.76% (56,946,812B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
21 224,800,221,016 7,836,247,832 7,720,323,652 115,924,180 0
98.52% (7,720,323,652B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->86.49% (6,777,326,920B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->86.49% (6,777,326,920B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->86.49% (6,777,326,920B) 0x15FB16: alloc (alloc.rs:98)
| ->86.49% (6,777,326,920B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->86.49% (6,777,326,920B) 0x15FB16: allocate (alloc.rs:241)
| ->86.49% (6,777,326,920B) 0x15FB16: {closure
| ->86.49% (6,777,326,920B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->86.49% (6,777,326,920B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->86.49% (6,777,326,920B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->86.41% (6,771,512,616B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->86.41% (6,771,512,616B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->86.41% (6,771,512,616B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->86.41% (6,771,512,616B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->86.41% (6,771,512,616B) 0x135154: merge (clock.rs:56)
| | ->86.41% (6,771,512,616B) 0x135154: {closure
| | ->86.41% (6,771,512,616B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->86.41% (6,771,512,616B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->86.41% (6,771,512,616B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->86.41% (6,771,512,616B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->86.41% (6,771,512,616B) 0x17D33D: {closure
| | ->86.41% (6,771,512,616B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->86.41% (6,771,512,616B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->86.41% (6,771,512,616B) 0x12195C: am_repro::main (main.rs:12)
| | ->86.41% (6,771,512,616B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->86.41% (6,771,512,616B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.07% (5,814,304B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.78% (453,132,144B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.78% (453,132,144B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.78% (453,132,144B) 0x15FA39: alloc (alloc.rs:98)
| ->05.78% (453,132,144B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.78% (453,132,144B) 0x15FA39: allocate (alloc.rs:241)
| ->05.78% (453,132,144B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.78% (453,132,144B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.78% (453,132,144B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.78% (453,132,144B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.78% (453,132,144B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.78% (453,132,144B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.78% (453,132,144B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.78% (453,132,144B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.75% (450,212,416B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.75% (450,212,416B) 0x13502A: merge (clock.rs:64)
| | ->05.75% (450,212,416B) 0x13502A: {closure
| | ->05.75% (450,212,416B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.75% (450,212,416B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.75% (450,212,416B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.75% (450,212,416B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.75% (450,212,416B) 0x17D33D: {closure
| | ->05.75% (450,212,416B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.75% (450,212,416B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.75% (450,212,416B) 0x12195C: am_repro::main (main.rs:12)
| | ->05.75% (450,212,416B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.75% (450,212,416B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (2,919,728B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.36% (185,291,800B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.82% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.82% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.82% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.82% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.82% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.82% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.82% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.82% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.82% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.82% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.82% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.82% (142,606,336B) 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.54% (42,685,464B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.18% (170,694,376B) in 78 places, all below massif's threshold (1.00%)
|
->01.71% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.71% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.71% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.71% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.71% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.71% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.71% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.71% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.71% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.71% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.71% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.71% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.71% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
22 236,083,270,672 8,295,623,392 8,172,781,268 122,842,124 0
23 244,113,477,096 8,397,574,280 8,273,196,060 124,378,220 0
24 254,367,577,968 8,704,094,336 8,575,101,708 128,992,628 0
98.52% (8,575,101,708B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->87.31% (7,599,459,864B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->87.31% (7,599,459,864B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->87.31% (7,599,459,864B) 0x15FB16: alloc (alloc.rs:98)
| ->87.31% (7,599,459,864B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->87.31% (7,599,459,864B) 0x15FB16: allocate (alloc.rs:241)
| ->87.31% (7,599,459,864B) 0x15FB16: {closure
| ->87.31% (7,599,459,864B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->87.31% (7,599,459,864B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->87.31% (7,599,459,864B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->87.24% (7,593,435,960B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->87.24% (7,593,435,960B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->87.24% (7,593,435,960B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->87.24% (7,593,435,960B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->87.24% (7,593,435,960B) 0x135154: merge (clock.rs:56)
| | ->87.24% (7,593,435,960B) 0x135154: {closure
| | ->87.24% (7,593,435,960B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->87.24% (7,593,435,960B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->87.24% (7,593,435,960B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->87.24% (7,593,435,960B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->87.24% (7,593,435,960B) 0x17D33D: {closure
| | ->87.24% (7,593,435,960B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->87.24% (7,593,435,960B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->87.24% (7,593,435,960B) 0x12195C: am_repro::main (main.rs:12)
| | ->87.24% (7,593,435,960B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->87.24% (7,593,435,960B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.07% (6,023,904B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.57% (484,554,328B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.57% (484,554,328B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.57% (484,554,328B) 0x15FA39: alloc (alloc.rs:98)
| ->05.57% (484,554,328B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.57% (484,554,328B) 0x15FA39: allocate (alloc.rs:241)
| ->05.57% (484,554,328B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.57% (484,554,328B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.57% (484,554,328B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.57% (484,554,328B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.57% (484,554,328B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.57% (484,554,328B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.57% (484,554,328B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.57% (484,554,328B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.53% (481,375,744B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.53% (481,375,744B) 0x13502A: merge (clock.rs:64)
| | ->05.53% (481,375,744B) 0x13502A: {closure
| | ->05.53% (481,375,744B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.53% (481,375,744B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.53% (481,375,744B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.53% (481,375,744B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.53% (481,375,744B) 0x17D33D: {closure
| | ->05.53% (481,375,744B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.53% (481,375,744B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.53% (481,375,744B) 0x12195C: am_repro::main (main.rs:12)
| | ->05.53% (481,375,744B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.53% (481,375,744B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (3,178,584B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.13% (185,297,496B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.64% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.64% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.64% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.64% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.64% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.64% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.64% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.64% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.64% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.64% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.64% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.64% (142,606,336B) 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.49% (42,691,160B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.98% (171,911,608B) in 78 places, all below massif's threshold (1.00%)
|
->01.54% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.54% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.54% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.54% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.54% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.54% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.54% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.54% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.54% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.54% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.54% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.54% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.54% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
25 267,337,179,208 8,857,877,768 8,726,567,028 131,310,740 0
26 277,677,657,600 9,142,950,368 9,007,350,012 135,600,356 0
27 292,762,375,344 9,531,834,832 9,390,378,652 141,456,180 0
28 305,605,516,992 9,991,911,040 9,843,552,164 148,358,876 0
29 320,067,194,248 10,162,679,928 10,011,748,252 150,931,676 0
30 326,614,389,320 10,229,408,760 10,077,473,956 151,934,804 0
31 340,439,664,456 10,347,995,640 10,194,276,604 153,719,036 0
98.51% (10,194,276,604B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->88.54% (9,162,483,744B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->88.54% (9,162,483,744B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->88.54% (9,162,483,744B) 0x15FB16: alloc (alloc.rs:98)
| ->88.54% (9,162,483,744B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->88.54% (9,162,483,744B) 0x15FB16: allocate (alloc.rs:241)
| ->88.54% (9,162,483,744B) 0x15FB16: {closure
| ->88.54% (9,162,483,744B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->88.54% (9,162,483,744B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->88.54% (9,162,483,744B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->88.48% (9,156,191,552B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->88.48% (9,156,191,552B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->88.48% (9,156,191,552B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->88.48% (9,156,191,552B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->88.48% (9,156,191,552B) 0x135154: merge (clock.rs:56)
| | ->88.48% (9,156,191,552B) 0x135154: {closure
| | ->88.48% (9,156,191,552B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->88.48% (9,156,191,552B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->88.48% (9,156,191,552B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->88.48% (9,156,191,552B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->88.48% (9,156,191,552B) 0x17D33D: {closure
| | ->88.48% (9,156,191,552B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->88.48% (9,156,191,552B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->88.48% (9,156,191,552B) 0x12195C: am_repro::main (main.rs:12)
| | ->88.48% (9,156,191,552B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->88.48% (9,156,191,552B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.06% (6,292,192B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.19% (537,068,560B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.19% (537,068,560B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.19% (537,068,560B) 0x15FA39: alloc (alloc.rs:98)
| ->05.19% (537,068,560B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.19% (537,068,560B) 0x15FA39: allocate (alloc.rs:241)
| ->05.19% (537,068,560B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.19% (537,068,560B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.19% (537,068,560B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.19% (537,068,560B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.19% (537,068,560B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.19% (537,068,560B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.19% (537,068,560B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.19% (537,068,560B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.15% (533,420,472B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.15% (533,420,472B) 0x13502A: merge (clock.rs:64)
| | ->05.15% (533,420,472B) 0x13502A: {closure
| | ->05.15% (533,420,472B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.15% (533,420,472B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.15% (533,420,472B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.15% (533,420,472B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.15% (533,420,472B) 0x17D33D: {closure
| | ->05.15% (533,420,472B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.15% (533,420,472B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.15% (533,420,472B) 0x12195C: am_repro::main (main.rs:12)
| | ->05.15% (533,420,472B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.15% (533,420,472B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.04% (3,648,088B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.81% (186,878,808B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.38% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.38% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.38% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.38% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.38% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.38% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.38% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.38% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.38% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.38% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.38% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.38% (142,606,336B) 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.43% (44,272,472B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.68% (173,967,080B) in 78 places, all below massif's threshold (1.00%)
|
->01.29% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.29% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.29% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.29% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.29% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.29% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.29% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.29% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.29% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.29% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.29% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.29% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.29% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
32 350,260,457,664 10,412,365,408 10,257,675,892 154,689,516 0
33 358,239,437,152 10,647,220,816 10,488,995,476 158,225,340 0
34 369,942,575,696 10,997,888,976 10,834,385,844 163,503,132 0
35 383,196,526,936 11,410,962,376 11,241,239,812 169,722,564 0
36 392,649,747,048 11,638,685,496 11,465,535,860 173,149,636 0
98.51% (11,465,535,860B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.13% (10,373,362,856B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.13% (10,373,362,856B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.13% (10,373,362,856B) 0x15FB16: alloc (alloc.rs:98)
| ->89.13% (10,373,362,856B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.13% (10,373,362,856B) 0x15FB16: allocate (alloc.rs:241)
| ->89.13% (10,373,362,856B) 0x15FB16: {closure
| ->89.13% (10,373,362,856B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.13% (10,373,362,856B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.13% (10,373,362,856B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.07% (10,366,869,448B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.07% (10,366,869,448B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.07% (10,366,869,448B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.07% (10,366,869,448B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.07% (10,366,869,448B) 0x135154: merge (clock.rs:56)
| | ->89.07% (10,366,869,448B) 0x135154: {closure
| | ->89.07% (10,366,869,448B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.07% (10,366,869,448B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.07% (10,366,869,448B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.07% (10,366,869,448B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.07% (10,366,869,448B) 0x17D33D: {closure
| | ->89.07% (10,366,869,448B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.07% (10,366,869,448B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.07% (10,366,869,448B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.07% (10,366,869,448B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.07% (10,366,869,448B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.06% (6,493,408B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.12% (595,366,704B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.12% (595,366,704B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.12% (595,366,704B) 0x15FA39: alloc (alloc.rs:98)
| ->05.12% (595,366,704B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.12% (595,366,704B) 0x15FA39: allocate (alloc.rs:241)
| ->05.12% (595,366,704B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.12% (595,366,704B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.12% (595,366,704B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.12% (595,366,704B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.12% (595,366,704B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.12% (595,366,704B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.12% (595,366,704B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.12% (595,366,704B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->05.08% (591,413,648B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->05.08% (591,413,648B) 0x13502A: merge (clock.rs:64)
| | ->05.08% (591,413,648B) 0x13502A: {closure
| | ->05.08% (591,413,648B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->05.08% (591,413,648B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->05.08% (591,413,648B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->05.08% (591,413,648B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->05.08% (591,413,648B) 0x17D33D: {closure
| | ->05.08% (591,413,648B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->05.08% (591,413,648B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->05.08% (591,413,648B) 0x12195C: am_repro::main (main.rs:12)
| | ->05.08% (591,413,648B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->05.08% (591,413,648B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (3,953,056B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.61% (186,885,016B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.23% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.23% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.23% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.23% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.23% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.23% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.23% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.23% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.23% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.23% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.23% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.23% (142,606,336B) 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.38% (44,278,680B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.51% (176,042,872B) in 78 places, all below massif's threshold (1.00%)
|
->01.15% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.15% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.15% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.15% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.15% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.15% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.15% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.15% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.15% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.15% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.15% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.15% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.15% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
37 402,515,793,928 11,885,436,040 11,708,571,836 176,864,204 0
98.51% (11,708,571,836B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.32% (10,615,943,416B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.32% (10,615,943,416B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.32% (10,615,943,416B) 0x15FB16: alloc (alloc.rs:98)
| ->89.32% (10,615,943,416B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.32% (10,615,943,416B) 0x15FB16: allocate (alloc.rs:241)
| ->89.32% (10,615,943,416B) 0x15FB16: {closure
| ->89.32% (10,615,943,416B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.32% (10,615,943,416B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.32% (10,615,943,416B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.26% (10,609,414,376B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.26% (10,609,414,376B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.26% (10,609,414,376B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.26% (10,609,414,376B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.26% (10,609,414,376B) 0x135154: merge (clock.rs:56)
| | ->89.26% (10,609,414,376B) 0x135154: {closure
| | ->89.26% (10,609,414,376B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.26% (10,609,414,376B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.26% (10,609,414,376B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.26% (10,609,414,376B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.26% (10,609,414,376B) 0x17D33D: {closure
| | ->89.26% (10,609,414,376B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.26% (10,609,414,376B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.26% (10,609,414,376B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.26% (10,609,414,376B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.26% (10,609,414,376B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,529,040B) in 1+ places, all below ms_print's threshold (01.00%)
|
->05.01% (595,771,232B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->05.01% (595,771,232B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->05.01% (595,771,232B) 0x15FA39: alloc (alloc.rs:98)
| ->05.01% (595,771,232B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->05.01% (595,771,232B) 0x15FA39: allocate (alloc.rs:241)
| ->05.01% (595,771,232B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->05.01% (595,771,232B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->05.01% (595,771,232B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->05.01% (595,771,232B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->05.01% (595,771,232B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->05.01% (595,771,232B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->05.01% (595,771,232B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->05.01% (595,771,232B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.98% (591,772,064B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.98% (591,772,064B) 0x13502A: merge (clock.rs:64)
| | ->04.98% (591,772,064B) 0x13502A: {closure
| | ->04.98% (591,772,064B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.98% (591,772,064B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.98% (591,772,064B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.98% (591,772,064B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.98% (591,772,064B) 0x17D33D: {closure
| | ->04.98% (591,772,064B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.98% (591,772,064B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.98% (591,772,064B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.98% (591,772,064B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.98% (591,772,064B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (3,999,168B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.57% (186,886,680B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.20% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.20% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.20% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.20% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.20% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.20% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.20% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.20% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.20% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.20% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.20% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.20% (142,606,336B) 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.37% (44,280,344B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.48% (176,092,096B) in 78 places, all below massif's threshold (1.00%)
|
->01.13% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.13% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.13% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.13% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.13% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.13% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.13% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.13% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.13% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.13% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.13% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.13% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.13% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
38 411,987,161,056 12,010,423,280 11,831,677,468 178,745,812 0
98.51% (11,831,677,468B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.41% (10,738,756,440B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.41% (10,738,756,440B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.41% (10,738,756,440B) 0x15FB16: alloc (alloc.rs:98)
| ->89.41% (10,738,756,440B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.41% (10,738,756,440B) 0x15FB16: allocate (alloc.rs:241)
| ->89.41% (10,738,756,440B) 0x15FB16: {closure
| ->89.41% (10,738,756,440B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.41% (10,738,756,440B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.41% (10,738,756,440B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.36% (10,732,219,016B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.36% (10,732,219,016B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.36% (10,732,219,016B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.36% (10,732,219,016B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.36% (10,732,219,016B) 0x135154: merge (clock.rs:56)
| | ->89.36% (10,732,219,016B) 0x135154: {closure
| | ->89.36% (10,732,219,016B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.36% (10,732,219,016B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.36% (10,732,219,016B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.36% (10,732,219,016B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.36% (10,732,219,016B) 0x17D33D: {closure
| | ->89.36% (10,732,219,016B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.36% (10,732,219,016B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.36% (10,732,219,016B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.36% (10,732,219,016B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.36% (10,732,219,016B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,537,424B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.96% (596,020,656B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.96% (596,020,656B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.96% (596,020,656B) 0x15FA39: alloc (alloc.rs:98)
| ->04.96% (596,020,656B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.96% (596,020,656B) 0x15FA39: allocate (alloc.rs:241)
| ->04.96% (596,020,656B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.96% (596,020,656B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.96% (596,020,656B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.96% (596,020,656B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.96% (596,020,656B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.96% (596,020,656B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.96% (596,020,656B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.96% (596,020,656B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.93% (591,991,096B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.93% (591,991,096B) 0x13502A: merge (clock.rs:64)
| | ->04.93% (591,991,096B) 0x13502A: {closure
| | ->04.93% (591,991,096B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.93% (591,991,096B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.93% (591,991,096B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.93% (591,991,096B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.93% (591,991,096B) 0x17D33D: {closure
| | ->04.93% (591,991,096B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.93% (591,991,096B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.93% (591,991,096B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.93% (591,991,096B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.93% (591,991,096B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (4,029,560B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.56% (186,887,064B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.19% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.19% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.19% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.19% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.19% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.19% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.19% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.19% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.19% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.19% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.19% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.19% (142,606,336B) 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.37% (44,280,728B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.47% (176,134,896B) in 78 places, all below massif's threshold (1.00%)
|
->01.11% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.11% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.11% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.11% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.11% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.11% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.11% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.11% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.11% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.11% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.11% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.11% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.11% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
39 424,556,438,848 12,136,340,400 11,955,699,060 180,641,340 0
98.51% (11,955,699,060B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.50% (10,862,596,504B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.50% (10,862,596,504B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.50% (10,862,596,504B) 0x15FB16: alloc (alloc.rs:98)
| ->89.50% (10,862,596,504B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.50% (10,862,596,504B) 0x15FB16: allocate (alloc.rs:241)
| ->89.50% (10,862,596,504B) 0x15FB16: {closure
| ->89.50% (10,862,596,504B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.50% (10,862,596,504B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.50% (10,862,596,504B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.45% (10,856,043,360B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.45% (10,856,043,360B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.45% (10,856,043,360B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.45% (10,856,043,360B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.45% (10,856,043,360B) 0x135154: merge (clock.rs:56)
| | ->89.45% (10,856,043,360B) 0x135154: {closure
| | ->89.45% (10,856,043,360B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.45% (10,856,043,360B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.45% (10,856,043,360B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.45% (10,856,043,360B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.45% (10,856,043,360B) 0x17D33D: {closure
| | ->89.45% (10,856,043,360B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.45% (10,856,043,360B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.45% (10,856,043,360B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.45% (10,856,043,360B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.45% (10,856,043,360B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,553,144B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.91% (596,176,808B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.91% (596,176,808B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.91% (596,176,808B) 0x15FA39: alloc (alloc.rs:98)
| ->04.91% (596,176,808B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.91% (596,176,808B) 0x15FA39: allocate (alloc.rs:241)
| ->04.91% (596,176,808B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.91% (596,176,808B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.91% (596,176,808B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.91% (596,176,808B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.91% (596,176,808B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.91% (596,176,808B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.91% (596,176,808B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.91% (596,176,808B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.88% (592,118,952B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.88% (592,118,952B) 0x13502A: merge (clock.rs:64)
| | ->04.88% (592,118,952B) 0x13502A: {closure
| | ->04.88% (592,118,952B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.88% (592,118,952B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.88% (592,118,952B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.88% (592,118,952B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.88% (592,118,952B) 0x17D33D: {closure
| | ->04.88% (592,118,952B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.88% (592,118,952B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.88% (592,118,952B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.88% (592,118,952B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.88% (592,118,952B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (4,057,856B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.54% (186,887,640B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.18% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.18% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.18% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.18% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.18% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.18% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.18% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.18% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.18% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.18% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.18% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.18% (142,606,336B) 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.36% (44,281,304B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.45% (176,159,696B) in 78 places, all below massif's threshold (1.00%)
|
->01.10% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.10% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.10% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.10% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.10% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.10% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.10% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.10% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.10% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.10% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.10% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.10% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.10% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
40 433,047,445,536 12,194,912,688 12,013,386,300 181,526,388 0
98.51% (12,013,386,300B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.63% (10,930,347,608B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.63% (10,930,347,608B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.63% (10,930,347,608B) 0x15FB16: alloc (alloc.rs:98)
| ->89.63% (10,930,347,608B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.63% (10,930,347,608B) 0x15FB16: allocate (alloc.rs:241)
| ->89.63% (10,930,347,608B) 0x15FB16: {closure
| ->89.63% (10,930,347,608B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.63% (10,930,347,608B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.63% (10,930,347,608B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.58% (10,923,779,792B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.58% (10,923,779,792B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.58% (10,923,779,792B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.58% (10,923,779,792B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.58% (10,923,779,792B) 0x135154: merge (clock.rs:56)
| | ->89.58% (10,923,779,792B) 0x135154: {closure
| | ->89.58% (10,923,779,792B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.58% (10,923,779,792B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.58% (10,923,779,792B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.58% (10,923,779,792B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.58% (10,923,779,792B) 0x17D33D: {closure
| | ->89.58% (10,923,779,792B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.58% (10,923,779,792B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.58% (10,923,779,792B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.58% (10,923,779,792B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.58% (10,923,779,792B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,567,816B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.81% (586,384,296B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.81% (586,384,296B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.81% (586,384,296B) 0x15FA39: alloc (alloc.rs:98)
| ->04.81% (586,384,296B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.81% (586,384,296B) 0x15FA39: allocate (alloc.rs:241)
| ->04.81% (586,384,296B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.81% (586,384,296B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.81% (586,384,296B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.81% (586,384,296B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.81% (586,384,296B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.81% (586,384,296B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.81% (586,384,296B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.81% (586,384,296B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.77% (582,302,336B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.77% (582,302,336B) 0x13502A: merge (clock.rs:64)
| | ->04.77% (582,302,336B) 0x13502A: {closure
| | ->04.77% (582,302,336B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.77% (582,302,336B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.77% (582,302,336B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.77% (582,302,336B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.77% (582,302,336B) 0x17D33D: {closure
| | ->04.77% (582,302,336B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.77% (582,302,336B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.77% (582,302,336B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.77% (582,302,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.77% (582,302,336B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (4,081,960B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.53% (186,891,480B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.17% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.17% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.17% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.17% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.17% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.17% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.17% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.17% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.17% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.17% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.17% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.17% (142,606,336B) 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.36% (44,285,144B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.44% (175,884,504B) in 78 places, all below massif's threshold (1.00%)
|
->01.10% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.10% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.10% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.10% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.10% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.10% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.10% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.10% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.10% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.10% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.10% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.10% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.10% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
41 445,169,092,080 12,293,890,720 12,110,875,868 183,014,852 0
42 459,176,065,472 12,391,305,744 12,206,826,340 184,479,404 0
98.51% (12,206,826,340B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.69% (11,113,244,568B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.69% (11,113,244,568B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.69% (11,113,244,568B) 0x15FB16: alloc (alloc.rs:98)
| ->89.69% (11,113,244,568B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.69% (11,113,244,568B) 0x15FB16: allocate (alloc.rs:241)
| ->89.69% (11,113,244,568B) 0x15FB16: {closure
| ->89.69% (11,113,244,568B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.69% (11,113,244,568B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.69% (11,113,244,568B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.63% (11,106,652,648B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.63% (11,106,652,648B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.63% (11,106,652,648B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.63% (11,106,652,648B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.63% (11,106,652,648B) 0x135154: merge (clock.rs:56)
| | ->89.63% (11,106,652,648B) 0x135154: {closure
| | ->89.63% (11,106,652,648B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.63% (11,106,652,648B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.63% (11,106,652,648B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.63% (11,106,652,648B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.63% (11,106,652,648B) 0x17D33D: {closure
| | ->89.63% (11,106,652,648B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.63% (11,106,652,648B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.63% (11,106,652,648B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.63% (11,106,652,648B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.63% (11,106,652,648B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,591,920B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.81% (596,588,672B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.81% (596,588,672B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.81% (596,588,672B) 0x15FA39: alloc (alloc.rs:98)
| ->04.81% (596,588,672B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.81% (596,588,672B) 0x15FA39: allocate (alloc.rs:241)
| ->04.81% (596,588,672B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.81% (596,588,672B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.81% (596,588,672B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.81% (596,588,672B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.81% (596,588,672B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.81% (596,588,672B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.81% (596,588,672B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.81% (596,588,672B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.78% (592,463,744B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.78% (592,463,744B) 0x13502A: merge (clock.rs:64)
| | ->04.78% (592,463,744B) 0x13502A: {closure
| | ->04.78% (592,463,744B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.78% (592,463,744B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.78% (592,463,744B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.78% (592,463,744B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.78% (592,463,744B) 0x17D33D: {closure
| | ->04.78% (592,463,744B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.78% (592,463,744B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.78% (592,463,744B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.78% (592,463,744B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.78% (592,463,744B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (4,124,928B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.51% (186,888,664B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.15% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.15% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.15% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.15% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.15% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.15% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.15% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.15% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.15% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.15% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.15% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.15% (142,606,336B) 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.36% (44,282,328B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.42% (176,226,024B) in 78 places, all below massif's threshold (1.00%)
|
->01.08% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.08% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.08% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.08% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.08% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.08% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.08% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.08% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.08% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.08% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.08% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.08% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.08% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
43 468,965,411,384 12,440,627,144 12,255,401,684 185,225,460 0
98.51% (12,255,401,684B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.80% (11,171,626,552B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.80% (11,171,626,552B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.80% (11,171,626,552B) 0x15FB16: alloc (alloc.rs:98)
| ->89.80% (11,171,626,552B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.80% (11,171,626,552B) 0x15FB16: allocate (alloc.rs:241)
| ->89.80% (11,171,626,552B) 0x15FB16: {closure
| ->89.80% (11,171,626,552B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.80% (11,171,626,552B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.80% (11,171,626,552B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.75% (11,165,007,384B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.75% (11,165,007,384B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.75% (11,165,007,384B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.75% (11,165,007,384B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.75% (11,165,007,384B) 0x135154: merge (clock.rs:56)
| | ->89.75% (11,165,007,384B) 0x135154: {closure
| | ->89.75% (11,165,007,384B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.75% (11,165,007,384B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.75% (11,165,007,384B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.75% (11,165,007,384B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.75% (11,165,007,384B) 0x17D33D: {closure
| | ->89.75% (11,165,007,384B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.75% (11,165,007,384B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.75% (11,165,007,384B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.75% (11,165,007,384B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.75% (11,165,007,384B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,619,168B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.72% (587,064,448B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.72% (587,064,448B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.72% (587,064,448B) 0x15FA39: alloc (alloc.rs:98)
| ->04.72% (587,064,448B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.72% (587,064,448B) 0x15FA39: allocate (alloc.rs:241)
| ->04.72% (587,064,448B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.72% (587,064,448B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.72% (587,064,448B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.72% (587,064,448B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.72% (587,064,448B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.72% (587,064,448B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.72% (587,064,448B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.72% (587,064,448B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.69% (582,927,992B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.69% (582,927,992B) 0x13502A: merge (clock.rs:64)
| | ->04.69% (582,927,992B) 0x13502A: {closure
| | ->04.69% (582,927,992B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.69% (582,927,992B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.69% (582,927,992B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.69% (582,927,992B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.69% (582,927,992B) 0x17D33D: {closure
| | ->04.69% (582,927,992B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.69% (582,927,992B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.69% (582,927,992B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.69% (582,927,992B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.69% (582,927,992B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (4,136,456B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.50% (186,892,824B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.15% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.15% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.15% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.15% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.15% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.15% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.15% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.15% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.15% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.15% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.15% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.15% (142,606,336B) 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.36% (44,286,488B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.41% (175,939,448B) in 78 places, all below massif's threshold (1.00%)
|
->01.08% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.08% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.08% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.08% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.08% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.08% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.08% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.08% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.08% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.08% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.08% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.08% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.08% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
44 482,663,347,880 12,511,952,456 12,325,652,404 186,300,052 0
45 490,874,122,280 12,557,960,408 12,370,967,604 186,992,804 0
46 504,558,747,064 12,631,544,984 12,443,449,004 188,095,980 0
47 516,283,009,024 12,687,590,048 12,498,649,532 188,940,516 0
48 524,225,528,944 12,913,232,688 12,720,897,236 192,335,452 0
98.51% (12,720,897,236B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.95% (11,615,602,320B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.95% (11,615,602,320B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.95% (11,615,602,320B) 0x15FB16: alloc (alloc.rs:98)
| ->89.95% (11,615,602,320B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.95% (11,615,602,320B) 0x15FB16: allocate (alloc.rs:241)
| ->89.95% (11,615,602,320B) 0x15FB16: {closure
| ->89.95% (11,615,602,320B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.95% (11,615,602,320B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.95% (11,615,602,320B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.90% (11,608,938,088B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.90% (11,608,938,088B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.90% (11,608,938,088B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.90% (11,608,938,088B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.90% (11,608,938,088B) 0x135154: merge (clock.rs:56)
| | ->89.90% (11,608,938,088B) 0x135154: {closure
| | ->89.90% (11,608,938,088B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.90% (11,608,938,088B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.90% (11,608,938,088B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.90% (11,608,938,088B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.90% (11,608,938,088B) 0x17D33D: {closure
| | ->89.90% (11,608,938,088B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.90% (11,608,938,088B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.90% (11,608,938,088B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.90% (11,608,938,088B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.90% (11,608,938,088B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,664,232B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.71% (607,869,344B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.71% (607,869,344B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.71% (607,869,344B) 0x15FA39: alloc (alloc.rs:98)
| ->04.71% (607,869,344B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.71% (607,869,344B) 0x15FA39: allocate (alloc.rs:241)
| ->04.71% (607,869,344B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.71% (607,869,344B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.71% (607,869,344B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.71% (607,869,344B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.71% (607,869,344B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.71% (607,869,344B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.71% (607,869,344B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.71% (607,869,344B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.67% (603,596,648B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.67% (603,596,648B) 0x13502A: merge (clock.rs:64)
| | ->04.67% (603,596,648B) 0x13502A: {closure
| | ->04.67% (603,596,648B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.67% (603,596,648B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.67% (603,596,648B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.67% (603,596,648B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.67% (603,596,648B) 0x17D33D: {closure
| | ->04.67% (603,596,648B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.67% (603,596,648B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.67% (603,596,648B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.67% (603,596,648B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.67% (603,596,648B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (4,272,696B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.45% (186,890,840B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
| ->01.10% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| | ->01.10% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| | ->01.10% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | | ->01.10% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | | ->01.10% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | | ->01.10% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | | ->01.10% (142,606,336B) 0x17CBC8: {closure
| | | | ->01.10% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | | ->01.10% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | | ->01.10% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | | ->01.10% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | | ->01.10% (142,606,336B) 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.34% (44,284,504B) in 1+ places, all below ms_print's threshold (01.00%)
|
->01.37% (176,656,320B) in 78 places, all below massif's threshold (1.00%)
|
->01.04% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
->01.04% (133,878,412B) 0x1155B1: UnknownInlinedFun (library/std/src/alloc.rs:394)
->01.04% (133,878,412B) 0x1155B1: alloc (alloc.rs:98)
->01.04% (133,878,412B) 0x1155B1: UnknownInlinedFun (alloc.rs:181)
->01.04% (133,878,412B) 0x1155B1: allocate (alloc.rs:241)
->01.04% (133,878,412B) 0x1155B1: do_alloc<alloc::alloc::Global> (alloc.rs:15)
->01.04% (133,878,412B) 0x1155B1: new_uninitialized<alloc::alloc::Global> (mod.rs:1752)
->01.04% (133,878,412B) 0x1155B1: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1790)
->01.04% (133,878,412B) 0x1155B1: prepare_resize<alloc::alloc::Global> (mod.rs:2869)
->01.04% (133,878,412B) 0x1155B1: resize_inner<alloc::alloc::Global> (mod.rs:3065)
->01.04% (133,878,412B) 0x1155B1: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2955)
->01.04% (133,878,412B) 0x1155B1: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1233)
->01.04% (133,878,412B) in 2 places, all below massif's threshold (1.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
49 537,030,916,440 13,451,886,856 13,251,443,732 200,443,124 0
98.51% (13,251,443,732B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->90.04% (12,112,354,320B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->90.04% (12,112,354,320B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->90.04% (12,112,354,320B) 0x15FB16: alloc (alloc.rs:98)
| ->90.04% (12,112,354,320B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->90.04% (12,112,354,320B) 0x15FB16: allocate (alloc.rs:241)
| ->90.04% (12,112,354,320B) 0x15FB16: {closure
| ->90.04% (12,112,354,320B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->90.04% (12,112,354,320B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->90.04% (12,112,354,320B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.99% (12,105,613,584B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.99% (12,105,613,584B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.99% (12,105,613,584B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.99% (12,105,613,584B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.99% (12,105,613,584B) 0x135154: merge (clock.rs:56)
| | ->89.99% (12,105,613,584B) 0x135154: {closure
| | ->89.99% (12,105,613,584B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.99% (12,105,613,584B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.99% (12,105,613,584B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.99% (12,105,613,584B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.99% (12,105,613,584B) 0x17D33D: {closure
| | ->89.99% (12,105,613,584B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.99% (12,105,613,584B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.99% (12,105,613,584B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.99% (12,105,613,584B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.99% (12,105,613,584B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,740,736B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.76% (640,562,752B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.76% (640,562,752B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.76% (640,562,752B) 0x15FA39: alloc (alloc.rs:98)
| ->04.76% (640,562,752B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.76% (640,562,752B) 0x15FA39: allocate (alloc.rs:241)
| ->04.76% (640,562,752B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.76% (640,562,752B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.76% (640,562,752B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.76% (640,562,752B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.76% (640,562,752B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.76% (640,562,752B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.76% (640,562,752B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.76% (640,562,752B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.73% (636,161,152B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.73% (636,161,152B) 0x13502A: merge (clock.rs:64)
| | ->04.73% (636,161,152B) 0x13502A: {closure
| | ->04.73% (636,161,152B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.73% (636,161,152B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.73% (636,161,152B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.73% (636,161,152B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.73% (636,161,152B) 0x17D33D: {closure
| | ->04.73% (636,161,152B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.73% (636,161,152B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.73% (636,161,152B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.73% (636,161,152B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.73% (636,161,152B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (4,401,600B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.32% (311,633,644B) in 79 places, all below massif's threshold (1.00%)
|
->01.39% (186,893,016B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
->01.06% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| ->01.06% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| ->01.06% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | ->01.06% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | ->01.06% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | ->01.06% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.06% (142,606,336B) 0x17CBC8: {closure
| | | ->01.06% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.06% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.06% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | ->01.06% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.06% (142,606,336B) 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.33% (44,286,680B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
50 538,716,724,032 13,476,942,000 13,276,121,172 200,820,828 0
51 540,402,531,400 13,498,604,792 13,297,456,412 201,148,380 0
52 542,088,339,104 13,538,186,096 13,336,442,868 201,743,228 0
53 542,528,449,960 13,589,239,928 13,386,729,396 202,510,532 0
98.51% (13,386,729,396B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->89.96% (12,224,803,672B) 0x15FB16: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->89.96% (12,224,803,672B) 0x15FB16: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->89.96% (12,224,803,672B) 0x15FB16: alloc (alloc.rs:98)
| ->89.96% (12,224,803,672B) 0x15FB16: UnknownInlinedFun (alloc.rs:181)
| ->89.96% (12,224,803,672B) 0x15FB16: allocate (alloc.rs:241)
| ->89.96% (12,224,803,672B) 0x15FB16: {closure
| ->89.96% (12,224,803,672B) 0x15FB16: allocate_for_layout<core::mem::maybe_uninit::MaybeUninit<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>, alloc::sync::{impl
| ->89.96% (12,224,803,672B) 0x15FB16: new_uninit_in<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>, alloc::alloc::Global> (sync.rs:756)
| ->89.96% (12,224,803,672B) 0x15FB16: alloc::sync::Arc<T,A>::make_mut (sync.rs:2131)
| ->89.91% (12,218,048,264B) 0x15F4D0: make_mut<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:157)
| | ->89.91% (12,218,048,264B) 0x15F4D0: get_mut<(usize, automerge::clock::ClockData), usize> (hamt.rs:251)
| | ->89.91% (12,218,048,264B) 0x15F4D0: im::hash::map::OccupiedEntry<K,V,S>::get_mut (map.rs:1468)
| | ->89.91% (12,218,048,264B) 0x135154: and_modify<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>, automerge::clock::{impl
| | ->89.91% (12,218,048,264B) 0x135154: merge (clock.rs:56)
| | ->89.91% (12,218,048,264B) 0x135154: {closure
| | ->89.91% (12,218,048,264B) 0x135154: traverse_ancestors<automerge::change_graph::{impl
| | ->89.91% (12,218,048,264B) 0x135154: calculate_clock (change_graph.rs:166)
| | ->89.91% (12,218,048,264B) 0x135154: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->89.91% (12,218,048,264B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->89.91% (12,218,048,264B) 0x17D33D: {closure
| | ->89.91% (12,218,048,264B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->89.91% (12,218,048,264B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->89.91% (12,218,048,264B) 0x12195C: am_repro::main (main.rs:12)
| | ->89.91% (12,218,048,264B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->89.91% (12,218,048,264B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.05% (6,755,408B) in 1+ places, all below ms_print's threshold (01.00%)
|
->04.88% (662,673,456B) 0x15FA39: UnknownInlinedFun (library/std/src/sys/pal/unix/alloc.rs:14)
| ->04.88% (662,673,456B) 0x15FA39: UnknownInlinedFun (library/std/src/alloc.rs:394)
| ->04.88% (662,673,456B) 0x15FA39: alloc (alloc.rs:98)
| ->04.88% (662,673,456B) 0x15FA39: UnknownInlinedFun (alloc.rs:181)
| ->04.88% (662,673,456B) 0x15FA39: allocate (alloc.rs:241)
| ->04.88% (662,673,456B) 0x15FA39: exchange_malloc (alloc.rs:330)
| ->04.88% (662,673,456B) 0x15FA39: new<alloc::sync::ArcInner<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>>> (boxed.rs:217)
| ->04.88% (662,673,456B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (sync.rs:395)
| ->04.88% (662,673,456B) 0x15FA39: new<im::nodes::hamt::Node<(usize, automerge::clock::ClockData)>> (fakepool.rs:141)
| ->04.88% (662,673,456B) 0x15FA39: from_node<(usize, automerge::clock::ClockData)> (hamt.rs:114)
| ->04.88% (662,673,456B) 0x15FA39: insert<(usize, automerge::clock::ClockData)> (hamt.rs:320)
| ->04.88% (662,673,456B) 0x15FA39: insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1528)
| ->04.88% (662,673,456B) 0x15FA39: im::hash::map::Entry<K,V,S>::or_insert_with (map.rs:1390)
| ->04.84% (658,237,272B) 0x13502A: or_insert<usize, automerge::clock::ClockData, core::hash::BuildHasherDefault<fxhash::FxHasher>> (map.rs:1378)
| | ->04.84% (658,237,272B) 0x13502A: merge (clock.rs:64)
| | ->04.84% (658,237,272B) 0x13502A: {closure
| | ->04.84% (658,237,272B) 0x13502A: traverse_ancestors<automerge::change_graph::{impl
| | ->04.84% (658,237,272B) 0x13502A: calculate_clock (change_graph.rs:166)
| | ->04.84% (658,237,272B) 0x13502A: automerge::change_graph::ChangeGraph::add_change (change_graph.rs:82)
| | ->04.84% (658,237,272B) 0x17D33D: reconstruct_document (automerge.rs:1903)
| | ->04.84% (658,237,272B) 0x17D33D: {closure
| | ->04.84% (658,237,272B) 0x17D33D: load_with_options (automerge.rs:588)
| | ->04.84% (658,237,272B) 0x17D33D: automerge::automerge::Automerge::load (automerge.rs:541)
| | ->04.84% (658,237,272B) 0x12195C: am_repro::main (main.rs:12)
| | ->04.84% (658,237,272B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | ->04.84% (658,237,272B) 0x123CCD: main (in /home/seph/src/am-repro/target/profiling/am-repro)
| |
| ->00.03% (4,436,184B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.30% (312,358,676B) in 79 places, all below massif's threshold (1.00%)
|
->01.38% (186,893,592B) 0x13C99B: alloc::raw_vec::finish_grow (library/std/src/sys/pal/unix/alloc.rs:48)
->01.05% (142,606,336B) 0x14A60F: grow_amortized<automerge::op_set::op::OpRaw, alloc::alloc::Global> (raw_vec.rs:433)
| ->01.05% (142,606,336B) 0x14A60F: alloc::raw_vec::RawVec<T,A>::reserve_for_push (raw_vec.rs:318)
| ->01.05% (142,606,336B) 0x147DBC: push<automerge::op_set::op::OpRaw, alloc::alloc::Global> (mod.rs:1922)
| | ->01.05% (142,606,336B) 0x147DBC: automerge::op_set::OpSetData::push (op_set.rs:777)
| | ->01.05% (142,606,336B) 0x12B392: automerge::storage::load::reconstruct_document::reconstruct_opset (op_set.rs:311)
| | | ->01.05% (142,606,336B) 0x17CBC8: reconstruct_document (automerge.rs:1891)
| | | ->01.05% (142,606,336B) 0x17CBC8: {closure
| | | ->01.05% (142,606,336B) 0x17CBC8: load_with_options (automerge.rs:588)
| | | ->01.05% (142,606,336B) 0x17CBC8: automerge::automerge::Automerge::load (automerge.rs:541)
| | | ->01.05% (142,606,336B) 0x12195C: am_repro::main (main.rs:12)
| | | ->01.05% (142,606,336B) 0x11CCF5: std::sys_common::backtrace::__rust_begin_short_backtrace (function.rs:250)
| | | ->01.05% (142,606,336B) 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.33% (44,287,256B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
54 544,214,257,528 12,100,172,584 11,922,172,371 178,000,213 0
55 545,900,065,352 10,414,364,760 10,261,715,467 152,649,293 0
56 547,585,872,968 8,728,557,144 8,601,258,723 127,298,421 0
57 549,271,680,520 7,042,749,592 6,940,801,915 101,947,677 0
58 550,957,487,840 5,356,942,272 5,280,345,251 76,597,021 0
59 552,643,295,008 3,671,135,104 3,619,888,699 51,246,405 0
60 554,329,102,152 1,985,327,960 1,959,432,163 25,895,797 0
61 556,014,909,648 299,520,464 298,833,779 686,685 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment