В моем приложении Qt я получаю большой массив данных с удаленного сервера (в формате JSON), затем анализирую его и сохраняю в QVariantList
, Каждый элемент имеет определенные поля (4 int и 3 строковых атрибута).
Вопрос в производительности. Должен ли я использовать массив struct
вместо QVariantList
? Или что-то другое?
Это ускорит поиск по атрибуту в массиве и уменьшит использование памяти или нет разницы?
Да, замена QVariantList на struct, скорее всего, ускорит ваше приложение в этом случае. Чтобы проверить, имеет ли элемент определенный атрибут, вам нужно извлечь строку из QVariantList и сравнить ее с поисковым запросом. Если объектов много, это займет много времени. Если атрибут уже сохранен в QString, сравнение будет намного быстрее.
Однако сложно сказать наверняка, что будет быстрее. Только профилтер может вам это сказать.
Других решений пока нет …