Well, here is the beginning of the profile report -- arbitrarily cut
off near the top. As I have done with previous profiles, this is
produced with: tree view; system libraries charged to callers; 30-
second sample, with me typing constantly during the sampling.
LyX was compiled with gcc-4.1.0 and MACOSX_DEPLOYMENT_TARGET=10.3.
Here's the configure line:
./configure --with-frontend=qt4 --without-x --disable-concept-checks
--with-qt4-dir=/Users/bennett/lyx/gcc-4.0/qt-mac-opensource-src-4.1.2
--without-aiksaurus --without-aspell --without-pspell --enable-
optimization=-Os --disable-assertions --with-version-suffix=-1.5.0svn
--prefix=/Applications/LyX-test.app --enable-debug --enable-stdlib-debug
(Do I need the --enable-stdlib-debug option?)
Let me know if you need something more or different.
Bennett
-----------
# Report 0 - Session 1 - Time Profile of lyx
SharkProfileViewer
# Generated from the visible portion of the outline view
+ 77.6% start (lyx)
| + 77.6% _start (lyx)
| | + 77.6% main (lyx)
| | | + 77.6% LyX::priv_exec(int&, char**) (lyx)
| | | | + 77.6% 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)
| | | | | + 77.6% QCoreApplication::exec() (lyx)
| | | | | | + 77.6% QEventLoop::exec
(QFlags<QEventLoop::ProcessEventsFlag>) (lyx)
| | | | | | | + 77.6% QEventLoop::processEvents
(QFlags<QEventLoop::ProcessEventsFlag>) (lyx)
| | | | | | | | + 77.6% QEventDispatcherMac::processEvents
(QFlags<QEventLoop::ProcessEventsFlag>) (lyx)
| | | | | | | | | + 67.5% qt_mac_send_event
(QFlags<QEventLoop::ProcessEventsFlag>, OpaqueEventRef*,
OpaqueWindowPtr*) (lyx)
| | | | | | | | | | + 67.5% SendEventToEventTarget (HIToolbox)
| | | | | | | | | | | + 67.5% SendEventToEventTargetInternal
(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) (HIToolbox)
| | | | | | | | | | | | + 67.5% DispatchEventToHandlers
(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) (HIToolbox)
| | | | | | | | | | | | | + 67.5% ToolboxEventDispatcherHandler
(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) (HIToolbox)
| | | | | | | | | | | | | | + 67.4% HandleKeyboardEvent
(OpaqueEventRef*, unsigned long) (HIToolbox)
| | | | | | | | | | | | | | | + 67.4%
SendEventToEventTargetWithOptions (HIToolbox)
| | | | | | | | | | | | | | | | + 67.4% SendEventToEventTargetInternal
(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) (HIToolbox)
| | | | | | | | | | | | | | | | | + 67.4% DispatchEventToHandlers
(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) (HIToolbox)
| | | | | | | | | | | | | | | | | | + 67.3%
QApplicationPrivate::globalEventProcessor(OpaqueEventHandlerCallRef*,
OpaqueEventRef*, void*) (lyx)
| | | | | | | | | | | | | | | | | | | + 67.1% QApplication::notify
(QObject*, QEvent*) (lyx)
| | | | | | | | | | | | | | | | | | | | + 67.0%
QApplicationPrivate::notify_helper(QObject*, QEvent*) (lyx)
| | | | | | | | | | | | | | | | | | | | | + 67.0% QWidget::event
(QEvent*) (lyx)
| | | | | | | | | | | | | | | | | | | | | | + 67.0%
QWorkArea::keyPressEvent(QKeyEvent*) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | + 67.0%
BufferView::workAreaKeyPress(boost::shared_ptr<LyXKeySym>,
key_modifier::state) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | + 67.0%
BufferView::Pimpl::workAreaKeyPress(boost::shared_ptr<LyXKeySym>,
key_modifier::state) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | + 64.9%
LyXFunc::processKeySym(boost::shared_ptr<LyXKeySym>,
key_modifier::state) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | + 64.8%
LyXFunc::dispatch(FuncRequest const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | + 40.7%
LCursor::dispatch(FuncRequest const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | + 40.7%
InsetBase::dispatch(LCursor&, FuncRequest&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 40.7%
LyXText::dispatch(LCursor&, FuncRequest&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 35.5%
BufferView::Pimpl::update(Update::flags) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 30.4%
LyXScreen::redraw(BufferView&, ViewMetricsInfo const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +
16.9% paintText(BufferView const&, ViewMetricsInfo const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +
12.1% (anonymous namespace)::paintPar(PainterInfo&, LyXText const&,
int, int, int, bool) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +
11.8% (anonymous namespace)::RowPainter::paintText() (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+ 10.9% (anonymous namespace)::RowPainter::paintFromPos(int&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| + 10.8% (anonymous namespace)::RowPainter::paintChars(int&,
LyXFont, bool, bool) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | + 8.3% QLPainter::text(int, int, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, LyXFont
const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | + 8.2% QLPainter::text(int, int, char const*, unsigned long,
LyXFont const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | + 7.7% QPainter::drawText(int, int, QString const&, int) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | + 7.7% QPainter::drawText(int, int, QString const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | + 7.7% QPainter::drawText(QPointF const&, QString const&)
(lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | + 6.7% QPainter::drawTextItem(QPointF const&, QTextItem
const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | + 6.7% QRasterPaintEngine::drawTextItem(QPointF
const&, QTextItem const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | + 6.7% QPaintEngine::drawTextItem(QPointF const&,
QTextItem const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | + 4.0% QFontEngineMac::addOutlineToPath(double,
double, QGlyphLayout const*, int, QPainterPath*,
QFlags<QTextItem::RenderFlag>) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | + 2.0% ATSUGlyphGetCubicPaths (QD)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | + 1.6% 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)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | + 0.3% PretendCubicCurveTo(Float32Point
const*, Float32Point const*, Float32Point const*, void*) (QD)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | + 0.2% QMacFontPath::cubicTo(Float32Point
const*, Float32Point const*, Float32Point const*, void*) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | + 0.2% QPainterPath::cubicTo(double,
double, double, double, double, double) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | + 0.2% QPainterPath::cubicTo(QPointF
const&, QPointF const&, QPointF const&) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | + 0.2%
QVector<QPainterPath::Element>::append(QPainterPath::Element const&)
(lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | + 0.1%
QVector<QPainterPath::Element>::realloc(int, int) (lyx)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | + 0.1% szone_realloc
(libSystem.B.dylib)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | 0.0% szone_malloc
(libSystem.B.dylib)