resizing window several  times, no startup/shutdown included in results
 
C++ Compiler flags:             -g -O2 -fno-exceptions
-ftemplate-depth-30 -Wno-non-template-friend -W -Wall
 
Note my X server is unaccelerated so ignore the X results
 
0015895c 8431     1.12085     qt_check_pointer(bool, char const *, int) 
/usr/lib/qt-2.3.1/lib/libqt.so
00145e64 8460     1.1247      QCString::QCString(int) /usr/lib/qt-2.3.1/lib/libqt.so
004101e4 8717     1.15887     QGArray::at(unsigned int) const 
/usr/lib/qt-2.3.1/lib/libqt.so
00416360 8937     1.18812     QStringData::~QStringData(void) 
/usr/lib/qt-2.3.1/lib/libqt.so
0812e968 9150     1.21644     LyXFont::LyXFont(void)  /home/moz/src/lyx/lyx-qt2/src/lyx
001685b4 9203     1.22348     QString::operator+=(QChar) /usr/lib/qt-2.3.1/lib/libqt.so
081994c4 9591     1.27506     LyXText::singleWidth(BufferView *, Paragraph *, int, 
char) const /home/moz/src/lyx/lyx-qt2/src/lyx
0040ff24 10682    1.4201      QArray<char>::~QArray(void) 
/usr/lib/qt-2.3.1/lib/libqt.so
0014ff0c 11342    1.50785     QGArray::~QGArray(void) /usr/lib/qt-2.3.1/lib/libqt.so
081a66a0 14439    1.91957     LyXText::getFont(Buffer const *, Paragraph *, int) const 
/home/moz/src/lyx/lyx-qt2/src/lyx
0016cc9c 14715    1.95627     QLatin1Codec::fromUnicode(QString const &, int &) const 
/usr/lib/qt-2.3.1/lib/libqt.so
082c6798 15271    2.03018     font_metrics::width(char const *, unsigned int, LyXFont 
const &) /home/moz/src/lyx/lyx-qt2/src/lyx
0014fdf8 16366    2.17576     QGArray::QGArray(int)   /usr/lib/qt-2.3.1/lib/libqt.so
00000000 16781    2.23093     (no symbol)             /usr/X11R6/lib/libX11.so.6.1
08175588 16990    2.25871     Paragraph::getFontSettings(BufferParams const &, int) 
const /home/moz/src/lyx/lyx-qt2/src/lyx
0019f468 19086    2.53736     QFontMetrics::width(QString const &, int) const 
/usr/lib/qt-2.3.1/lib/libqt.so
00078e60 22373    2.97435     chunk_alloc             /lib/libc-2.2.so
00079778 24433    3.24821     __cfree                 /lib/libc-2.2.so
00078bec 29330    3.89924     __malloc                /lib/libc-2.2.so
00079868 32123    4.27055     chunk_free              /lib/libc-2.2.so
00000000 86761    11.5343     (no symbol)             /usr/X11R6/bin/XF86_FBDev
address  samples  percentage
 
We're spending lots of time in the allocator. ::width is our killer here, no question 
...
 
The lyx oinly profile looks like this :
 
0812e90c 3748     2.2811      operator==(LyXFont::FontBits const &, LyXFont::FontBits 
const &)
0819bcf8 3932     2.39308     LyXText::nextBreakPoint(BufferView *, Row const *, int) 
const
0817b08c 4850     2.95179     Paragraph::getChar(int) const
08131460 6678     4.06434     LyXFont::realShape(void) const
0812f0b8 8243     5.01683     LyXFont::realize(LyXFont const &)
0817ca74 8318     5.06247     Paragraph::Pimpl::getChar(int) const
0812e968 9150     5.56884     LyXFont::LyXFont(void)
081994c4 9591     5.83724     LyXText::singleWidth(BufferView *, Paragraph *, int, 
char) const
081a66a0 14439    8.78782     LyXText::getFont(Buffer const *, Paragraph *, int) const
082c6798 15271    9.29419     font_metrics::width(char const *, unsigned int, LyXFont 
const &)
08175588 16990    10.3404     Paragraph::getFontSettings(BufferParams const &, int) 
const
 
We do a lot of passing around of LyXFonts. getFontSettings is obviously awful.
As for ::width ...
 
john
-- 
"Yeah, I woke up in the day accidentally once, the moon was on fire for some
 reason and I couldn't see very well and all the bandwidth disappeared, it was
 very scary :("
        - Orion


Reply via email to