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