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.

You use case should be useful. Here is some other use case with a big document (UserGuide or Extended):
- hold the arrow down key pressed
- hold the page down key pressed
- scroll by dragging the scrollbar slider
- scroll by holding click on the down arrow button of the scrollbar.

I'll wait on doing these until I'm sure you like the format.

I am sure the tree view is useful because this line for example

> QWorkArea::keyPressEvent(QKeyEvent*) (lyx)
> | | | | | | | | | | | | | | | | | | | | | | | + 67.0%

indicate that 67% of the time is spent on this method and its children. But real time is most probably close to zero. Absolute figures are more informative if you manage to produce that.

OK ... how's this (produced from the same profile, again arbitrarily cut off near the top)?

Bennett

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

# Report 1 - Session 1 - Time Profile of lyx
SharkProfileViewer
# Generated from the visible portion of the outline view
+ 16807 start (lyx)
| + 16807 _start (lyx)
| | + 16807 main (lyx)
| | | + 16807 LyX::priv_exec(int&, char**) (lyx)
| | | | + 16807 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)
| | | | | + 16807 QCoreApplication::exec() (lyx)
| | | | | | + 16807 QEventLoop::exec (QFlags<QEventLoop::ProcessEventsFlag>) (lyx) | | | | | | | + 16807 QEventLoop::processEvents (QFlags<QEventLoop::ProcessEventsFlag>) (lyx) | | | | | | | | + 16807 QEventDispatcherMac::processEvents (QFlags<QEventLoop::ProcessEventsFlag>) (lyx) | | | | | | | | | + 14635 qt_mac_send_event (QFlags<QEventLoop::ProcessEventsFlag>, OpaqueEventRef*, OpaqueWindowPtr*) (lyx)
| | | | | | | | | | + 14631 SendEventToEventTarget (HIToolbox)
| | | | | | | | | | | + 14631 SendEventToEventTargetInternal (OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) (HIToolbox) | | | | | | | | | | | | + 14628 DispatchEventToHandlers (EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) (HIToolbox) | | | | | | | | | | | | | + 14625 ToolboxEventDispatcherHandler (OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) (HIToolbox) | | | | | | | | | | | | | | + 14613 HandleKeyboardEvent (OpaqueEventRef*, unsigned long) (HIToolbox) | | | | | | | | | | | | | | | + 14613 SendEventToEventTargetWithOptions (HIToolbox) | | | | | | | | | | | | | | | | + 14613 SendEventToEventTargetInternal (OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) (HIToolbox) | | | | | | | | | | | | | | | | | + 14601 DispatchEventToHandlers (EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) (HIToolbox) | | | | | | | | | | | | | | | | | | + 14591 QApplicationPrivate::globalEventProcessor(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) (lyx) | | | | | | | | | | | | | | | | | | | + 14532 QApplication::notify (QObject*, QEvent*) (lyx) | | | | | | | | | | | | | | | | | | | | + 14527 QApplicationPrivate::notify_helper(QObject*, QEvent*) (lyx) | | | | | | | | | | | | | | | | | | | | | + 14526 QWidget::event (QEvent*) (lyx) | | | | | | | | | | | | | | | | | | | | | | + 14525 QWorkArea::keyPressEvent(QKeyEvent*) (lyx) | | | | | | | | | | | | | | | | | | | | | | | + 14525 BufferView::workAreaKeyPress(boost::shared_ptr<LyXKeySym>, key_modifier::state) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | + 14525 BufferView::Pimpl::workAreaKeyPress(boost::shared_ptr<LyXKeySym>, key_modifier::state) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | + 14057 LyXFunc::processKeySym(boost::shared_ptr<LyXKeySym>, key_modifier::state) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | + 14034 LyXFunc::dispatch(FuncRequest const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | + 8825 LCursor::dispatch(FuncRequest const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 8817 InsetBase::dispatch(LCursor&, FuncRequest&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 8815 LyXText::dispatch(LCursor&, FuncRequest&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 7697 BufferView::Pimpl::update(Update::flags) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 6589 LyXScreen::redraw(BufferView&, ViewMetricsInfo const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 3661 paintText(BufferView const&, ViewMetricsInfo const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2629 (anonymous namespace)::paintPar(PainterInfo&, LyXText const&, int, int, int, bool) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2564 (anonymous namespace)::RowPainter::paintText() (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2366 (anonymous namespace)::RowPainter::paintFromPos(int&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2344 (anonymous namespace)::RowPainter::paintChars(int&, LyXFont, bool, bool) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1788 QLPainter::text(int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, LyXFont const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1787 QLPainter::text(int, int, char const*, unsigned long, LyXFont const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1675 QPainter::drawText(int, int, QString const&, int) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1674 QPainter::drawText(int, int, QString const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1673 QPainter::drawText(QPointF const&, QString const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1462 QPainter::drawTextItem(QPointF const&, QTextItem const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1456 QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1455 QPaintEngine::drawTextItem(QPointF const&, QTextItem const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 876 QFontEngineMac::addOutlineToPath(double, double, QGlyphLayout const*, int, QPainterPath*, QFlags<QTextItem::RenderFlag>) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 441 ATSUGlyphGetCubicPaths (QD) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 337 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) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 68 PretendCubicCurveTo(Float32Point const*, Float32Point const*, Float32Point const*, void*) (QD) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 52 QMacFontPath::cubicTo(Float32Point const*, Float32Point const*, Float32Point const*, void*) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 52 QPainterPath::cubicTo(double, double, double, double, double, double) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 52 QPainterPath::cubicTo(QPointF const&, QPointF const&, QPointF const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 47 QVector<QPainterPath::Element>::append(QPainterPath::Element const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 28 QVector<QPainterPath::Element>::realloc(int, int) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 21 szone_realloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6 szone_malloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4 __memcpy (commpage [libSystem.B.dylib]) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3 szone_free (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 __spin_lock (commpage [libSystem.B.dylib]) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3 szone_size (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 realloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 szone_realloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 szone_malloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 large_and_huge_malloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 vm_allocate (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 CMSCalculateMD5 (libCSync.A.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 mig_get_reply_port (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 qRealloc(void*, unsigned long) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3 realloc (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2 QVectorData::grow(int, int, int, bool) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 qAllocMore(int, int) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 dyld_stub_realloc (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4 QPainterPathData::maybeMoveTo() (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 operator==(QPointF const&, QPointF const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2 QMacFontPath::moveTo(Float32Point const*, void*) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2 QPainterPath::moveTo(double, double) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2 QPainterPath::moveTo(QPointF const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 QVector<QPainterPath::Element>::append(QPainterPath::Element const&) (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 QPainterPath::detach() (lyx) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 43 GetGlyphVectorIndex (ATS) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 41 _eGetGlyphVectorIndex (ATS) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 21 TSReaderToWriter (CarbonCore) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 6 TSTryLockMutex (CarbonCore) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 3 pthread_mutex_trylock (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 __spin_lock (commpage [libSystem.B.dylib]) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4 TSUnlockMutex (CarbonCore) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 3 TSLockMutex (CarbonCore) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 2 pthread_mutex_lock (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 __spin_lock (commpage [libSystem.B.dylib]) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 dyld_stub_pthread_mutex_lock (CarbonCore) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 dyld_stub_pthread_mutex_unlock (CarbonCore) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5 AGCongruent (ATS) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3 GetStandardAttributeType (AttributeGroup const*) (ATS) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 TSReleaseReader (CarbonCore) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 CompareAndSwap (CarbonCore) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 OSAtomicCompareAndSwap32Barrier (libSystem.B.dylib) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1 _eGetGlyphVectorIndex (ATS) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 TSAcquireReader (CarbonCore)

Reply via email to