On May 19, 2006, at 12:13 PM, Abdelrazak Younes wrote:

Bennett Helm a écrit :
On May 19, 2006, at 11:34 AM, Abdelrazak Younes wrote:
No, I think it would be better if you pass
    --disable-debug --disable-stdlib-debug
instead of:
    --enable-debug --enable-stdlib-debug
Without --enable-debug, at least, I can't get function names in the profile.

Yes, I forgot about that, --enable-debug is fine as it should not impact performance with gcc. But --enable-stdlib-debug do so please use at least --disable-stdlib-debug.

OK ... but subjectively I haven't noticed a difference. (I'll recompile later.)

Sorry Bennet, I didn't mean "absolute figure" in the sense of "number of calls" versus "percentage". I mean that we need the actual _time_ spend in each function. What you are providing seems to be the number of calls. That said, I got maybe all that wrong... Anybody use to analize those kind of profile (JMArc)??

I can do that too. There are 2 options for sorting the report -- via a column labeled "Self" and one labeled "Total". This (as my others have been) is sorted by "Total", again arbitrarily cut near the top. Let me know if you want the "Self" version.

Bennett

--------------

# Report 2 - Session 1 - Time Profile of lyx
SharkProfileViewer
# Generated from the visible portion of the outline view
+ 17098.6 ms start (lyx)
| + 17098.6 ms _start (lyx)
| | + 17098.6 ms main (lyx)
| | | + 17098.6 ms LyX::priv_exec(int&, char**) (lyx)
| | | | + 17098.6 ms lyx_gui::start(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (lyx)
| | | | | + 17098.6 ms QCoreApplication::exec() (lyx)
| | | | | | + 17098.6 ms QEventLoop::exec (QFlags<QEventLoop::ProcessEventsFlag>) (lyx) | | | | | | | + 17098.6 ms QEventLoop::processEvents (QFlags<QEventLoop::ProcessEventsFlag>) (lyx) | | | | | | | | + 17098.6 ms QEventDispatcherMac::processEvents (QFlags<QEventLoop::ProcessEventsFlag>) (lyx) | | | | | | | | | + 14875.9 ms qt_mac_send_event (QFlags<QEventLoop::ProcessEventsFlag>, OpaqueEventRef*, OpaqueWindowPtr*) (lyx)
| | | | | | | | | | + 14871.8 ms SendEventToEventTarget (HIToolbox)
| | | | | | | | | | | + 14871.8 ms SendEventToEventTargetInternal (OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) (HIToolbox) | | | | | | | | | | | | + 14868.7 ms DispatchEventToHandlers (EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) (HIToolbox) | | | | | | | | | | | | | + 14865.6 ms ToolboxEventDispatcherHandler (OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) (HIToolbox) | | | | | | | | | | | | | | + 14853.3 ms HandleKeyboardEvent (OpaqueEventRef*, unsigned long) (HIToolbox) | | | | | | | | | | | | | | | + 14853.3 ms SendEventToEventTargetWithOptions (HIToolbox) | | | | | | | | | | | | | | | | + 14853.3 ms SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) (HIToolbox) | | | | | | | | | | | | | | | | | + 14841.0 ms DispatchEventToHandlers (EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) (HIToolbox) | | | | | | | | | | | | | | | | | | + 14830.8 ms QApplicationPrivate::globalEventProcessor(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) (lyx) | | | | | | | | | | | | | | | | | | | + 14770.2 ms QApplication::notify(QObject*, QEvent*) (lyx) | | | | | | | | | | | | | | | | | | | | + 14765.1 ms QApplicationPrivate::notify_helper(QObject*, QEvent*) (lyx) | | | | | | | | | | | | | | | | | | | | | + 14764.1 ms QWidget::event (QEvent*) (lyx) | | | | | | | | | | | | | | | | | | | | | | + 14763.1 ms QWorkArea::keyPressEvent(QKeyEvent*) (lyx) | | | | | | | | | | | | | | | | | | | | | | | + 14763.1 ms BufferView::workAreaKeyPress(boost::shared_ptr<LyXKeySym>, key_modifier::state) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | + 14763.1 ms BufferView::Pimpl::workAreaKeyPress(boost::shared_ptr<LyXKeySym>, key_modifier::state) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | + 14286.7 ms LyXFunc::processKeySym(boost::shared_ptr<LyXKeySym>, key_modifier::state) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | + 14263.0 ms LyXFunc::dispatch(FuncRequest const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | + 8982.4 ms LCursor::dispatch(FuncRequest const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 8974.2 ms InsetBase::dispatch(LCursor&, FuncRequest&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 8972.1 ms LyXText::dispatch(LCursor&, FuncRequest&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 7835.1 ms BufferView::Pimpl::update(Update::flags) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 6709.7 ms LyXScreen::redraw(BufferView&, ViewMetricsInfo const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 3732.1 ms paintText(BufferView const&, ViewMetricsInfo const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2686.2 ms (anonymous namespace)::paintPar(PainterInfo&, LyXText const&, int, int, int, bool) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2619.9 ms (anonymous namespace)::RowPainter::paintText() (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2417.1 ms (anonymous namespace)::RowPainter::paintFromPos(int&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2394.6 ms (anonymous namespace)::RowPainter::paintChars(int&, LyXFont, bool, bool) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1825.8 ms QLPainter::text(int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, LyXFont const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1824.8 ms QLPainter::text(int, int, char const*, unsigned long, LyXFont const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1710.0 ms QPainter::drawText(int, int, QString const&, int) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1709.0 ms QPainter::drawText(int, int, QString const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1707.9 ms QPainter::drawText(QPointF const&, QString const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1491.4 ms QPainter::drawTextItem(QPointF const&, QTextItem const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1485.3 ms QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1484.2 ms QPaintEngine::drawTextItem(QPointF const&, QTextItem const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 894.5 ms QFontEngineMac::addOutlineToPath (double, double, QGlyphLayout const*, int, QPainterPath*, QFlags<QTextItem::RenderFlag>) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 449.2 ms ATSUGlyphGetCubicPaths (QD) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 343.0 ms GetQuadraticPaths(AttributeGroup*, unsigned short, long (*)(void*), long (*)(Float32Point const*, Float32Point const*, void*), long (*)(Float32Point const*, Float32Point const*, Float32Point const*, void*), long (*)(void*), void*, long*) (QD) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 69.2 ms PretendCubicCurveTo(Float32Point const*, Float32Point const*, Float32Point const*, void*) (QD) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 52.9 ms QMacFontPath::cubicTo (Float32Point const*, Float32Point const*, Float32Point const*, void*) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 52.9 ms QPainterPath::cubicTo(double, double, double, double, double, double) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 52.9 ms QPainterPath::cubicTo (QPointF const&, QPointF const&, QPointF const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 47.8 ms QVector<QPainterPath::Element>::append(QPainterPath::Element const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 28.5 ms QVector<QPainterPath::Element>::realloc(int, int) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 21.4 ms szone_realloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6.1 ms szone_malloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.1 ms __memcpy (commpage [libSystem.B.dylib]) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3.1 ms szone_free (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.0 ms __spin_lock (commpage [libSystem.B.dylib]) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3.1 ms szone_size (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1.0 ms realloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1.0 ms szone_realloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1.0 ms szone_malloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1.0 ms large_and_huge_malloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1.0 ms vm_allocate (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1.0 ms CMSCalculateMD5 (libCSync.A.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.0 ms mig_get_reply_port (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.0 ms qRealloc(void*, unsigned long) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3.1 ms realloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2.0 ms QVectorData::grow(int, int, int, bool) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.0 ms qAllocMore(int, int) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.0 ms dyld_stub_realloc (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.1 ms QPainterPathData::maybeMoveTo() (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.0 ms operator==(QPointF const&, QPointF const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2.0 ms QMacFontPath::moveTo (Float32Point const*, void*) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2.0 ms QPainterPath::moveTo(double, double) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2.0 ms QPainterPath::moveTo(QPointF const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.0 ms QPainterPath::detach() (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.0 ms QVector<QPainterPath::Element>::append(QPainterPath::Element const&) (lyx)

Reply via email to