Pavel Sanda wrote: i made shorter summary from the flat part of the profile, ie cumulative time spent inside the functions, subcalls included; cut below 5%:
with ouliner: [1] 87.8 0.00 2.54 722 lyx::dispatch(lyx::FuncRequest const&) [1] [2] 87.8 0.00 2.54 722 lyx::frontend::GuiApplication::dispatch(lyx::FuncRequest const&) [2] [3] 87.5 0.00 2.53 lyx::frontend::GuiWorkArea::keyPressEvent(QKeyEvent*) [3] [4] 87.5 0.00 2.53 720 lyx::frontend::GuiWorkArea::processKeySym(lyx::KeySymbol const&, lyx::KeyModifier) [4] [5] 87.5 0.00 2.53 720 lyx::frontend::GuiApplication::processKeySym(lyx::KeySymbol const&, lyx::KeyModifier) [5] [6] 57.3 0.00 1.66 722 lyx::BufferView::processUpdateFlags(lyx::Update::flags) [6] [7] 30.9 0.00 0.89 726 lyx::Buffer::updateMacros() const [7] [8] 30.8 0.36 0.53 726+288222 lyx::Buffer::Impl::updateMacros(lyx::DocIterator&, lyx::DocIterator&) [8] [9] 18.8 0.01 0.53 728 lyx::frontend::GuiWorkArea::redraw(bool) [9] [10] 18.8 0.00 0.54 726 lyx::frontend::WorkAreaManager::redrawAll(bool) [10] [11] 18.8 0.00 0.54 726 lyx::Buffer::changed(bool) const [11] [12] 18.1 0.00 0.52 732 lyx::frontend::GuiWorkArea::updateScreen() [12] [13] 18.1 0.00 0.52 732 lyx::BufferView::draw(lyx::frontend::Painter&) [13] [14] 18.0 0.00 0.52 722 lyx::frontend::GuiApplication::dispatch(lyx::FuncRequest const&, lyx::DispatchResult&) [14] [15] 17.8 0.02 0.49 732+53928 <cycle 10 as a whole> [15] [16] 15.1 0.07 0.37 21488 lyx::Bidi::computeTables(lyx::Paragraph const&, lyx::Buffer const&, lyx::Row const&) [16] [17] 13.7 0.01 0.39 10206 lyx::TextMetrics::drawParagraph(lyx::PainterInfo&, int, int, int) const <cycle 10> [17] [18] 12.5 0.00 0.36 17506 lyx::RowPainter::RowPainter(lyx::PainterInfo&, lyx::Text const&, int, lyx::Row const&, lyx::Bidi&, int, int) [18] [19] 11.7 0.00 0.34 723 lyx::frontend::GuiView::restartCursor() [19] [20] 11.1 0.00 0.32 1 lyx::frontend::GuiView::openDocument(std::string const&) [20] [21] 10.1 0.00 0.29 1 lyx::frontend::GuiView::loadDocument(lyx::support::FileName const&, bool) [21] [22] 9.7 0.00 0.28 726 lyx::frontend::GuiView::updateDialogs() [22] [23] 8.9 0.00 0.26 1 lyx::checkAndLoadLyXFile(lyx::support::FileName const&, bool) [23] [24] 8.4 0.02 0.22 53500+144141 <cycle 7 as a whole> [24] [25] 8.3 0.00 0.24 726 lyx::frontend::GuiView::updateToolbars() [25] [26] 8.2 0.00 0.24 1 lyx::Buffer::loadLyXFile(lyx::support::FileName const&) [26] [27] 8.2 0.00 0.24 1 lyx::Buffer::readFileHelper(lyx::support::FileName const&) [27] [28] 8.2 0.00 0.24 1+3 <cycle 4 as a whole> [28] [29] 8.2 0.00 0.24 2 lyx::Buffer::readFile(lyx::Lexer&, lyx::support::FileName const&, bool) <cycle 4> [29] [30] 8.2 0.00 0.24 1 lyx::Buffer::readDocument(lyx::Lexer&) [30] [31] 8.2 0.00 0.24 1160953+3243 lyx::Paragraph::getFontSettings(lyx::BufferParams const&, int) const [31] [32] 7.7 0.00 0.22 22506 lyx::frontend::GuiToolbar::update(bool, bool, bool, bool) [32] [33] 7.3 0.00 0.21 1+18602 <cycle 8 as a whole> [33] [34] 7.0 0.00 0.20 44418 lyx::frontend::Action::update() [34] [35] 6.7 0.08 0.11 4463886 __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<lyx::InsetList::InsetTable const*, std::__norm::vector<lyx::InsetList::InsetTable, std::allocator<lyx::InsetList::InsetTable> > >, std::__debug::vector<lyx::InsetList::InsetTable, std::allocator<lyx::InsetList::InsetTable> > >::operator->() const [35] [36] 6.6 0.01 0.18 2126131 lyx::DocIterator::paragraph() const [36] [37] 6.5 0.01 0.18 835+4066 <cycle 11 as a whole> [37] [38] 6.3 0.01 0.17 1606 lyx::TextMetrics::redoParagraph(int) <cycle 11> [38] [39] 5.6 0.01 0.15 2713191 lyx::CursorSlice::paragraph() const [39] [40] 5.6 0.04 0.12 1194287 lyx::FontList::fontIterator(int) [40] [41] 5.6 0.00 0.16 709 lyx::BufferView::singleParUpdate() [41] [42] 5.5 0.03 0.13 lyx::frontend::GuiCompletionModel::data(QModelIndex const&, int) const [42] [43] 5.3 0.00 0.15 1435 lyx::BufferView::dispatch(lyx::FuncRequest const&, lyx::DispatchResult&) [43] [44] 5.3 0.00 0.15 1 lyx::find(lyx::BufferView*, lyx::FuncRequest const&) [44] [45] 5.3 0.00 0.15 1 lyx::(anonymous namespace)::find(lyx::BufferView*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool, bool, bool, bool) [45] [46] 5.2 0.00 0.15 1 lyx::(anonymous namespace)::findForward(lyx::DocIterator&, lyx::(anonymous namespace)::MatchString const&, bool) [46] without outliner: [1] 87.2 0.00 6.56 2481 lyx::dispatch(lyx::FuncRequest const&) [1] [2] 87.2 0.01 6.55 2481 lyx::frontend::GuiApplication::dispatch(lyx::FuncRequest const&) [2] [3] 87.1 0.00 6.55 lyx::frontend::GuiWorkArea::keyPressEvent(QKeyEvent*) [3] [4] 87.1 0.00 6.55 2479 lyx::frontend::GuiWorkArea::processKeySym(lyx::KeySymbol const&, lyx::KeyModifier) [4] [5] 87.1 0.00 6.55 2479 lyx::frontend::GuiApplication::processKeySym(lyx::KeySymbol const&, lyx::KeyModifier) [5] [6] 63.1 0.00 4.75 2490 lyx::BufferView::processUpdateFlags(lyx::Update::flags) [6] [7] 31.3 0.00 2.36 2494 lyx::Buffer::updateMacros() const [7] [8] 31.0 0.81 1.52 2494+990118 lyx::Buffer::Impl::updateMacros(lyx::DocIterator&, lyx::DocIterator&) [8] [9] 22.0 0.00 1.65 2492 lyx::frontend::GuiWorkArea::redraw(bool) [9] [10] 22.0 0.00 1.65 2490 lyx::frontend::WorkAreaManager::redrawAll(bool) [10] [11] 22.0 0.00 1.65 2490 lyx::Buffer::changed(bool) const [11] [12] 21.3 0.00 1.60 2496 lyx::frontend::GuiWorkArea::updateScreen() [12] [13] 21.3 0.00 1.60 2496 lyx::BufferView::draw(lyx::frontend::Painter&) [13] [14] 20.6 0.08 1.47 2496+184434 <cycle 10 as a whole> [14] [15] 15.1 0.22 0.92 73317 lyx::Bidi::computeTables(lyx::Paragraph const&, lyx::Buffer const&, lyx::Row const&) [15] [16] 14.8 0.00 1.11 2481 lyx::frontend::GuiView::restartCursor() [16] [17] 14.6 0.00 1.10 34896 lyx::TextMetrics::drawParagraph(lyx::PainterInfo&, int, int, int) const <cycle 10> [17] [18] 12.6 0.00 0.95 59836 lyx::RowPainter::RowPainter(lyx::PainterInfo&, lyx::Text const&, int, lyx::Row const&, lyx::Bidi&, int, int) [18] [19] 12.1 0.00 0.91 2488 lyx::frontend::GuiView::updateDialogs() [19] [20] 11.7 0.02 0.86 179630+473855 <cycle 7 as a whole> [20] [21] 11.5 0.00 0.87 2488 lyx::frontend::GuiView::updateToolbars() [21] [22] 10.9 0.00 0.82 77128 lyx::frontend::GuiToolbar::update(bool, bool, bool, bool) [22] [23] 10.1 0.01 0.75 151888 lyx::frontend::Action::update() [23] [24] 9.6 0.05 0.67 lyx::frontend::GuiCompletionModel::data(QModelIndex const&, int) const [24] [25] 9.1 0.14 0.54 3895439+10599 lyx::Paragraph::getFontSettings(lyx::BufferParams const&, int) const [25] [26] 8.4 0.00 0.63 2481 lyx::frontend::GuiApplication::dispatch(lyx::FuncRequest const&, lyx::DispatchResult&) [26] [27] 7.9 0.00 0.59 2731+12916 <cycle 11 as a whole> [27] [28] 7.7 0.00 0.58 5240 lyx::TextMetrics::redoParagraph(int) <cycle 11> [28] [29] 7.6 0.01 0.56 179649 lyx::frontend::GuiApplication::getStatus(lyx::FuncRequest const&) const <cycle 7> [29] [30] 7.4 0.12 0.44 5741809 lyx::DocIterator::paragraph() const [30] [31] 7.2 0.02 0.52 172140 lyx::frontend::GuiView::getStatus(lyx::FuncRequest const&, lyx::FuncStatus&) [31] [32] 7.1 0.00 0.54 2461 lyx::BufferView::singleParUpdate() [32] [33] 6.4 0.13 0.35 15182674 __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<lyx::InsetList::InsetTable const*, std::__norm::vector<lyx::InsetList::InsetTable, std::allocator<lyx::InsetList::InsetTable> > >, std::__debug::vector<lyx::InsetList::InsetTable, std::allocator<lyx::InsetList::InsetTable> > >::operator->() const [33] [34] 5.1 0.00 0.38 1 lyx::frontend::GuiView::openDocument(std::string const&) [34]