View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0015710 | Scribus | General | public | 2019-06-13 04:35 | 2019-06-13 11:14 |
Reporter | william | Assigned To | jghali | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | duplicate | ||
Platform | x86_64 | OS | Fedora Linux | OS Version | 30 |
Product Version | 1.5.4.svn | ||||
Summary | 0015710: scribus is slow opening | ||||
Description | starting Scribus 1.5.5.svn from 12 June 2019 with no document, canceling the new document window, and then closing Scribus takes about 15 seconds on a 2.5GHz 4 core Intel i5-2450M laptop. I rebuilt scribus with profiling and attached a profile of opening scribus with no document and then closing. Here are the top items. It looks like something is making a long list inefficiently. % cumulative self self total time seconds seconds calls ms/call ms/call name 16.67 0.03 0.03 2427252 0.00 0.00 QList<QString>::iterator::operator*() const 16.67 0.06 0.03 864415 0.00 0.00 std::__atomic_base<int>::operator--() 5.56 0.07 0.01 663961 0.00 0.00 QList<QString>::iterator::operator<(QList<QString>::iterator const&) const 5.56 0.08 0.01 584944 0.00 0.00 QListData::size() const 5.56 0.09 0.01 574334 0.00 0.00 QString::QString(QString const&) 5.56 0.10 0.01 572238 0.00 0.00 bool QAtomicOps<int>::ref<int>(std::atomic<int>&) 5.56 0.11 0.01 572238 0.00 0.00 std::__atomic_base<int>::operator++() 5.56 0.12 0.01 277527 0.00 0.00 QList<FileFormat>::Node::t() 5.56 0.13 0.01 152762 0.00 0.00 QHash<QString, QHashDummyValue>::insert(QString const&, QHashDummyValue const&) 5.56 0.14 0.01 152762 0.00 0.00 QHash<QString, QHashDummyValue>::findNode(QString const&, unsigned int) const 5.56 0.15 0.01 148851 0.00 0.00 QSet<QString>::const_iterator::operator!=(QSet<QString>::const_iterator const&) const 5.56 0.16 0.01 2996 0.00 0.00 QList<VColorStop*>::detach() 5.56 0.17 0.01 1354 0.01 0.01 QMapNode<QString, QPointer<ScrAction> >::nextNode() 5.56 0.18 0.01 95 0.11 0.11 qstrnlen(char const*, unsigned int) Here are some of the top call graph entries. It looks like something with sorting a QStringList in plugins or icons. index % time self children called name <spontaneous> [1] 61.2 0.00 0.11 ImIconProvider::icon(QFileInfo const&) const [1] 0.00 0.11 1957/1957 LoadSavePlugin::getExtensionsForImport(int) [2] 0.00 0.00 1957/37359 QStringList::~QStringList() [58] 0.00 0.00 9521/843820 QString::~QString() [21] 0.00 0.00 4651/40222 QString::QString(char const*) [2290] 0.00 0.00 2435/3229 QString::toLower() && [2400] 0.00 0.00 2194/5377 QStringList::contains(QString const&, Qt::CaseSensitivity) const [2357] 0.00 0.00 1957/6889 QString::isEmpty() const [2346] 0.00 0.00 478/37606 QString::operator=(QString&&) [2292] ----------------------------------------------- 0.00 0.11 1957/1957 ImIconProvider::icon(QFileInfo const&) const [1] [2] 60.8 0.00 0.11 1957 LoadSavePlugin::getExtensionsForImport(int) [2] 0.00 0.04 1957/1959 void qSort<QStringList>(QStringList&) [8] 0.00 0.03 1957/1959 QList<QString>::toSet() const [11] 0.00 0.02 1957/1960 QSet<QString>::toList() const [27] 0.00 0.01 264195/264705 QList<FileFormat>::const_iterator::operator->() const [47] 0.00 0.01 66538/66600 QList<QString>::append(QList<QString> const&) [52] 0.00 0.00 1957/1960 QStringList::operator=(QList<QString>&&) [167] 0.00 0.00 1957/76150 QList<QString>::~QList() [28] 0.00 0.00 1957/1971 LoadSavePlugin::findFormat(unsigned int, LoadSavePlugin*, QList<FileFormat>::iterator) [169] 0.00 0.00 1957/1962 QSet<QString>::~QSet() [321] 0.00 0.00 68495/68604 QList<FileFormat>::const_iterator::operator!=(QList<FileFormat>::const_iterator const&) const [2285] 0.00 0.00 66538/66644 QList<FileFormat>::const_iterator::operator++() [2287] 0.00 0.00 1957/2110 QList<FileFormat>::begin() [2442] 0.00 0.00 1957/1959 QList<FileFormat>::const_iterator::const_iterator(QList<FileFormat>::iterator const&) [2465] 0.00 0.00 1957/1960 QList<FileFormat>::constEnd() const [2464] 0.00 0.00 1957/4455 QStringList::QStringList() [2366] ----------------------------------------------- 0.00 0.00 2/1959 LoadSavePlugin::getExtensionsForPreview(int) [253] 0.00 0.04 1957/1959 LoadSavePlugin::getExtensionsForImport(int) [2] [8] 22.0 0.00 0.04 1959 void qSort<QStringList>(QStringList&) [8] 0.00 0.04 1959/1959 void QAlgorithmsPrivate::qSortHelper<QList<QString>::iterator, QString>(QList<QString>::iterator, QList<QString>::iterator, QSt 0.00 0.00 1959/2427252 QList<QString>::iterator::operator*() const [12] 0.00 0.00 3918/4030 QList<QString>::begin() [1811] 0.00 0.00 1959/34383 QList<QString>::end() [1233] 0.00 0.00 1959/1959 QList<QString>::empty() const [2466] ----------------------------------------------- 45051 void QAlgorithmsPrivate::qSortHelper<QList<QString>::iterator, QString, qLess<QString> >(QList<QString>::iterator, QList<QStrin$ 0.00 0.04 1959/1959 void QAlgorithmsPrivate::qSortHelper<QList<QString>::iterator, QString>(QList<QString>::iterator, QList<QString>::iterator, QSt [9] 22.0 0.00 0.04 1959+45051 void QAlgorithmsPrivate::qSortHelper<QList<QString>::iterator, QString, qLess<QString> >(QList<QString>::iterator, QList<QString>:: 0.03 0.00 2393318/2427252 QList<QString>::iterator::operator*() const [12] 0.01 0.00 663961/663961 QList<QString>::iterator::operator<(QList<QString>::iterator const&) const [34] 0.00 0.00 906799/906799 qLess<QString>::operator()(QString const&, QString const&) const [2243] 0.00 0.00 385809/385812 QList<QString>::iterator::operator--() [2247] 0.00 0.00 378035/409969 QList<QString>::iterator::operator++() [2246] 0.00 0.00 332926/332926 QList<QString>::iterator::operator>(QList<QString>::iterator const&) const [2249] 0.00 0.00 289860/289860 void qSwap<QString>(QString&, QString&) [2254] 0.00 0.00 262468/266388 QList<QString>::iterator::iterator(QList<QString>::iterator const&) [2256] 0.00 0.00 125356/125443 QList<QString>::iterator::operator+(long long) const [2276] 0.00 0.00 92061/92061 QList<QString>::iterator::operator-(QList<QString>::iterator) const [2280] 0.00 0.00 80305/80305 QList<QString>::iterator::operator-(long long) const [2281] 45051 void QAlgorithmsPrivate::qSortHelper<QList<QString>::iterator, QString, qLess<QString> >(QList<QString>::iterator, QList<QStrin ----------------------------------------------- | ||||
Tags | No tags attached. | ||||
Patch | |||||
duplicate of | 0015711 | new | scribus is slow starting up |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-06-13 04:35 | william | New Issue | |
2019-06-13 11:14 | jghali | Assigned To | => jghali |
2019-06-13 11:14 | jghali | Status | new => resolved |
2019-06-13 11:14 | jghali | Resolution | open => duplicate |
2019-06-13 11:14 | jghali | Note Added: 0046299 | |
2019-06-13 11:14 | jghali | Relationship added | duplicate of 0015711 |
2019-06-13 11:14 | jghali | Status | resolved => closed |