aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-07-13 12:57:15 +0200
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-07-20 19:30:38 +0000
commit49874ec12a821c165ab31ec90d98eb5c4dec30dc (patch)
tree76ede0408b0682b98ffe47dc4ed0d5dc1aba7126 /src
parente16a54c06c2e40fb5087bbf028f11f727b4f050d (diff)
Use QVector instead of QList in V4 profiler
For complex types QVector results in better performance. Change-Id: I8ac3dccfa4272a755d36964b0373dc115f520223 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/qml/debugger/qv4profileradapter.cpp13
-rw-r--r--src/qml/debugger/qv4profileradapter_p.h8
-rw-r--r--src/qml/jsruntime/qv4profiling.cpp10
-rw-r--r--src/qml/jsruntime/qv4profiling_p.h10
4 files changed, 21 insertions, 20 deletions
diff --git a/src/qml/debugger/qv4profileradapter.cpp b/src/qml/debugger/qv4profileradapter.cpp
index 2b8183dc69..832699ac8c 100644
--- a/src/qml/debugger/qv4profileradapter.cpp
+++ b/src/qml/debugger/qv4profileradapter.cpp
@@ -51,10 +51,10 @@ QV4ProfilerAdapter::QV4ProfilerAdapter(QQmlProfilerService *service, QV4::Execut
connect(this, SIGNAL(dataRequested()), engine->profiler, SLOT(reportData()));
connect(this, SIGNAL(referenceTimeKnown(QElapsedTimer)),
engine->profiler, SLOT(setTimer(QElapsedTimer)));
- connect(engine->profiler, SIGNAL(dataReady(QList<QV4::Profiling::FunctionCallProperties>,
- QList<QV4::Profiling::MemoryAllocationProperties>)),
- this, SLOT(receiveData(QList<QV4::Profiling::FunctionCallProperties>,
- QList<QV4::Profiling::MemoryAllocationProperties>)));
+ connect(engine->profiler, SIGNAL(dataReady(QVector<QV4::Profiling::FunctionCallProperties>,
+ QVector<QV4::Profiling::MemoryAllocationProperties>)),
+ this, SLOT(receiveData(QVector<QV4::Profiling::FunctionCallProperties>,
+ QVector<QV4::Profiling::MemoryAllocationProperties>)));
}
qint64 QV4ProfilerAdapter::appendMemoryEvents(qint64 until, QList<QByteArray> &messages)
@@ -113,8 +113,9 @@ qint64 QV4ProfilerAdapter::sendMessages(qint64 until, QList<QByteArray> &message
}
}
-void QV4ProfilerAdapter::receiveData(const QList<QV4::Profiling::FunctionCallProperties> &new_data,
- const QList<QV4::Profiling::MemoryAllocationProperties> &new_memory_data)
+void QV4ProfilerAdapter::receiveData(
+ const QVector<QV4::Profiling::FunctionCallProperties> &new_data,
+ const QVector<QV4::Profiling::MemoryAllocationProperties> &new_memory_data)
{
data = new_data;
memory_data = new_memory_data;
diff --git a/src/qml/debugger/qv4profileradapter_p.h b/src/qml/debugger/qv4profileradapter_p.h
index 2f467f4beb..5ca3a85df9 100644
--- a/src/qml/debugger/qv4profileradapter_p.h
+++ b/src/qml/debugger/qv4profileradapter_p.h
@@ -63,12 +63,12 @@ public:
virtual qint64 sendMessages(qint64 until, QList<QByteArray> &messages);
public slots:
- void receiveData(const QList<QV4::Profiling::FunctionCallProperties> &,
- const QList<QV4::Profiling::MemoryAllocationProperties> &);
+ void receiveData(const QVector<QV4::Profiling::FunctionCallProperties> &,
+ const QVector<QV4::Profiling::MemoryAllocationProperties> &);
private:
- QList<QV4::Profiling::FunctionCallProperties> data;
- QList<QV4::Profiling::MemoryAllocationProperties> memory_data;
+ QVector<QV4::Profiling::FunctionCallProperties> data;
+ QVector<QV4::Profiling::MemoryAllocationProperties> memory_data;
QStack<qint64> stack;
qint64 appendMemoryEvents(qint64 until, QList<QByteArray> &messages);
};
diff --git a/src/qml/jsruntime/qv4profiling.cpp b/src/qml/jsruntime/qv4profiling.cpp
index d2628c7bd0..a0db2bf5cf 100644
--- a/src/qml/jsruntime/qv4profiling.cpp
+++ b/src/qml/jsruntime/qv4profiling.cpp
@@ -56,10 +56,10 @@ FunctionCallProperties FunctionCall::resolve() const
Profiler::Profiler(QV4::ExecutionEngine *engine) : featuresEnabled(0), m_engine(engine)
{
- static int metatype = qRegisterMetaType<QList<QV4::Profiling::FunctionCallProperties> >();
- static int metatype2 = qRegisterMetaType<QList<QV4::Profiling::MemoryAllocationProperties> >();
- Q_UNUSED(metatype);
- Q_UNUSED(metatype2);
+ static int meta = qRegisterMetaType<QVector<QV4::Profiling::FunctionCallProperties> >();
+ static int meta2 = qRegisterMetaType<QVector<QV4::Profiling::MemoryAllocationProperties> >();
+ Q_UNUSED(meta);
+ Q_UNUSED(meta2);
m_timer.start();
}
@@ -76,7 +76,7 @@ void Profiler::stopProfiling()
void Profiler::reportData()
{
- QList<FunctionCallProperties> resolved;
+ QVector<FunctionCallProperties> resolved;
resolved.reserve(m_data.size());
FunctionCallComparator comp;
foreach (const FunctionCall &call, m_data) {
diff --git a/src/qml/jsruntime/qv4profiling_p.h b/src/qml/jsruntime/qv4profiling_p.h
index c3441eaacd..cc00af0193 100644
--- a/src/qml/jsruntime/qv4profiling_p.h
+++ b/src/qml/jsruntime/qv4profiling_p.h
@@ -155,14 +155,14 @@ public slots:
void setTimer(const QElapsedTimer &timer) { m_timer = timer; }
signals:
- void dataReady(const QList<QV4::Profiling::FunctionCallProperties> &,
- const QList<QV4::Profiling::MemoryAllocationProperties> &);
+ void dataReady(const QVector<QV4::Profiling::FunctionCallProperties> &,
+ const QVector<QV4::Profiling::MemoryAllocationProperties> &);
private:
QV4::ExecutionEngine *m_engine;
QElapsedTimer m_timer;
QVector<FunctionCall> m_data;
- QList<MemoryAllocationProperties> m_memory_data;
+ QVector<MemoryAllocationProperties> m_memory_data;
friend class FunctionCallProfiler;
};
@@ -202,7 +202,7 @@ Q_DECLARE_TYPEINFO(QV4::Profiling::FunctionCallProperties, Q_MOVABLE_TYPE);
Q_DECLARE_TYPEINFO(QV4::Profiling::FunctionCall, Q_MOVABLE_TYPE);
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QList<QV4::Profiling::FunctionCallProperties>)
-Q_DECLARE_METATYPE(QList<QV4::Profiling::MemoryAllocationProperties>)
+Q_DECLARE_METATYPE(QVector<QV4::Profiling::FunctionCallProperties>)
+Q_DECLARE_METATYPE(QVector<QV4::Profiling::MemoryAllocationProperties>)
#endif // QV4PROFILING_H