Russian Qt Forum

Qt => Общие вопросы => Тема начата: joker от Апрель 07, 2015, 16:53



Название: QStringLiteral - насколько нужно использовать
Отправлено: joker от Апрель 07, 2015, 16:53
Нашел заметку о QStringLiteral  (https://blog.qt.io/blog/2014/06/13/qt-weekly-13-qstringliteral/)

Сама то логика понятна, однако не понимаю насколько нужно маниакально использовать.
Если во всех случаях - то почему это нельзя это сделать автоматом. Есть же MOC. А читабельность программы на порядок уменьшается.

Может кто поделится мыслями/идеями?
 


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: qate от Апрель 09, 2015, 13:50
судя по ответам - не нужно )


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: __Heaven__ от Апрель 09, 2015, 14:41
Для c++98
Код
C++ (Qt)
# define QStringLiteral(str) QString::fromUtf8("" str "", sizeof(str) - 1)
;D


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Декабрь 24, 2016, 08:40
Для c++98
Код
C++ (Qt)
# define QStringLiteral(str) QString::fromUtf8("" str "", sizeof(str) - 1)
;D
Гранд мерси :))))


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: Авварон от Декабрь 24, 2016, 13:00
Для c++98

Все же уже на 11х плюсах давно.
Литерал полезный, его следует использовать везде, где раньше юзался QLatin1String.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: kambala от Декабрь 27, 2016, 13:36
по-моему в документации читал, что если есть перегрузка с параметром QLatin1String, то лучше подавать его, в остальных случаях — QStringLiteral. или все-таки везде ставить QStringLiteral и не морочить себе голову?


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: Авварон от Декабрь 27, 2016, 14:00
Latin1 ускоряет конструирование тем, что вместо utf-8 кодека использует latin1-кодек.
Литерал же не перекодирует строку вообще (и даже не копирует).


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Декабрь 27, 2016, 17:11
Для c++98
Все же уже на 11х плюсах давно.
Увы - нет. Нужен хард под 2-ю операционку. Поставлю - перейду.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: Авварон от Декабрь 29, 2016, 11:37
Увы - нет. Нужен хард под 2-ю операционку. Поставлю - перейду.

Qt c версии 5.5 требует 11х плюсов.
Я понимаю, что где-то еще на Qt3 пишут, но таки 11м плюсам уже 5 лет и почти не осталось платформ, где бы не было поддержки 11х плюсов.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Декабрь 29, 2016, 16:21
Увы - нет. Нужен хард под 2-ю операционку. Поставлю - перейду.

Qt c версии 5.5 требует 11х плюсов.
Я понимаю, что где-то еще на Qt3 пишут, но таки 11м плюсам уже 5 лет и почти не осталось платформ, где бы не было поддержки 11х плюсов.
Qt 5 - толстый и неповоротливый монстр. Мне там ничего не надо из его плюшек, мне достаточно Qt 4.
Жду Qt Lite
 (http://blog.qt.io/blog/2016/08/18/introducing-the-qt-lite-project-qt-for-any-platform-any-thing-any-size/)


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: Авварон от Декабрь 29, 2016, 17:27
Qt 5 - толстый и неповоротливый монстр.

Эм, так не поменялось же ничего.
QPA и в 4.8 уже было, в коре всё то же самое.
Декларативка новая, наоборот, быстрее.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Декабрь 29, 2016, 17:56
Qt 5 - толстый и неповоротливый монстр.

Эм, так не поменялось же ничего.
QPA и в 4.8 уже было, в коре всё то же самое.
Декларативка новая, наоборот, быстрее.
Если судить по жирным бинарям и начинающему тормозить Qt Creator 4.1.0 то тяжко системе становится.
Ну и в любом случае пока нет фозможность на старый операцион прицепить нужный софт.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Декабрь 29, 2016, 23:07
Я тут задним умом подумал, прикинул, полез в https://download.qt.io/archive/ (https://download.qt.io/archive/)
Скачал https://download.qt.io/archive/qtcreator/2.5/ (https://download.qt.io/archive/qtcreator/2.5/) , поставил и наслаждаюсь шустрым ИДЕ.
Доволен как слон :)))))
По сравнению с тормозным 4.10 - небо и земля.

Пс. Попробовал повырубать плагины в 4.10 - запускаться шустрее стал, но начались вылеты.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: Авварон от Декабрь 29, 2016, 23:21
4.10 еще не вышел.
Не знаю, что у вас там тормозит. Возможно, автодополнение? Ну так оно шланг вызывает, ясен пень что будет медленнее. Зато всякие std::unique_ptr умеет разворачивать и auto понимает.
Шланг бэкенд выключается одной галочкой.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Декабрь 29, 2016, 23:25
4.10 еще не вышел.
Не знаю, что у вас там тормозит. Возможно, автодополнение? Ну так оно шланг вызывает, ясен пень что будет медленнее. Зато всякие std::unique_ptr умеет разворачивать и auto понимает.
Шланг бэкенд выключается одной галочкой.

соврал 4.1.0.
Тормозит запуск самого креатора. 20-25 секунд запускается.
Настройки сохраняются 5-10 секунд.
Надоела это тормозуха.
Рядом стоит 1Сv83 и 1Cv77 - и спокойно обмолачивают гигабайтные БД. Так что есть с чем сравнивать.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: Авварон от Декабрь 29, 2016, 23:46
Тормозит запуск самого креатора. 20-25 секунд запускается.
Настройки сохраняются 5-10 секунд.

Это не нормально. Версия Qt тут нипричём, где-то бага. Профилировщик в помощь, смотреть, что тормозит.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Декабрь 30, 2016, 09:01
Тормозит запуск самого креатора. 20-25 секунд запускается.
Настройки сохраняются 5-10 секунд.

Это не нормально. Версия Qt тут нипричём, где-то бага. Профилировщик в помощь, смотреть, что тормозит.

К сожалению не получится. Новый креатор собран на базе современной Qt, которой нужен С++11, а на WinXP не поставить студию, которая его поддерживает. А мингву - не хочу.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Январь 16, 2017, 16:49
Тормозит запуск самого креатора. 20-25 секунд запускается.
Настройки сохраняются 5-10 секунд.

Это не нормально. Версия Qt тут нипричём, где-то бага. Профилировщик в помощь, смотреть, что тормозит.
Думаю тормозит неоптимальное хранение настроек.
Посмотрел ..\Application Data\QtProject\
Файл настроек QtCreator.ini весит 33 МБ.
И креатор его читает и пишет при старте.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: Авварон от Январь 16, 2017, 17:26
Это чего там столько? У меня 41кб.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Январь 16, 2017, 19:26
Фиг его знает, грохнул QtCreator.ini
слетели настройки последних проектов.
Креатор мухой залетал. А я думал что он тормоз несусветный.
Дома еще почищу, думаю так-же залетает.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: mitrich от Январь 16, 2017, 19:30
Наверное нулевой терминатор какой-нибудь строки потерялся (или что-то типа этого) и писалась куча мусора. В одной из версий с файлом gradients.xml такая же фигня была - разрастался до нескольких сотен мегабайт.


Название: Re: QStringLiteral - насколько нужно использовать
Отправлено: panAlexey от Январь 17, 2017, 08:36
И дома под 30-к мегабайт весил.
Фигня какая-то.

ПС. Отлично, время запуска 1-2 секунды. Круть!