Название: Компиляторы C++ Отправлено: _govorilka от Марта 17, 2007, 07:29 Хотелось бы обсудить: каким компилятором лучше компилить проги на C++?
Вот мое мнение: Под винду - Мне нравится Microsoft С++ 7.1 или Intel C++ 8.0 Intel C++ 9.0 под винду глючит, да и VS интеграции нет. Intel C++ 9.1 еще не видел, Microsoft С++ 8.0 - сам компилятор нормальный, но система манифестов - полный идиотизм!!! То что есть от Borland, и есть от Borland (Это переделанные Паскали!!!). У MinGW есть только одно достоинство - бесплатный, по всем остальным параметрам говно! Под Linux, мне кажется, что лучший - это Intel C++ 9.0, хотя у меня была возможность сравнить только с gcc, может у кого есть что-то другое. Так же как и в винде у gcc есть только одно достоинство - бесплатный!!! Для Linux на Intel C++ можно компилировать и Qt Open Source!!! Под Mac - ??? (не разу просто проги под Mac не писал). Название: Компиляторы C++ Отправлено: Mr. Пронька от Марта 17, 2007, 09:38 Если участники дискуссии ни чем не подкрепят свои доводы, то тема превратится в банальный holy war.
Название: Re: Компиляторы C++ Отправлено: QCasper от Марта 17, 2007, 11:52 Цитата: "_govorilka" Под винду - Мне нравится Microsoft С++ 7.1. У MinGW есть только одно достоинство - бесплатный, по всем остальным параметрам говно! Microsoft С++ 7.1 - компилятор тоже бесплатный Название: Re: Компиляторы C++ Отправлено: f_evgeny от Марта 17, 2007, 12:20 Цитата: "_govorilka" Хотелось бы обсудить: каким компилятором лучше компилить проги на C++? Вот мое мнение: Под винду - Мне нравится Microsoft С++ 7.1 или Intel C++ 8.0 Intel C++ 9.0 под винду глючит, да и VS интеграции нет. Intel C++ 9.1 еще не видел, Microsoft С++ 8.0 - сам компилятор нормальный, но система манифестов - полный идиотизм!!! То что есть от Borland, и есть от Borland (Это переделанные Паскали!!!). У MinGW есть только одно достоинство - бесплатный, по всем остальным параметрам говно! Под Linux, мне кажется, что лучший - это Intel C++ 9.0, хотя у меня была возможность сравнить только с gcc, может у кого есть что-то другое. Так же как и в винде у gcc есть только одно достоинство - бесплатный!!! Для Linux на Intel C++ можно компилировать и Qt Open Source!!! Под Mac - ??? (не разу просто проги под Mac не писал). Так все-таки какие параметры имеются в виду? Название: Компиляторы C++ Отправлено: evilguard от Марта 17, 2007, 12:47 А 8 мелкософтовский компилер тоже бесплатный? Вроде тоже есть VS Express Edition 2005. И встанет ли на нее интегратор?
Название: Re: Компиляторы C++ Отправлено: vregess от Марта 17, 2007, 12:50 Цитата: "_govorilka" Хотелось бы обсудить: каким компилятором лучше компилить проги на C++? Вот мое мнение: .... MinGW есть только одно достоинство - бесплатный, по всем остальным параметрам говно! ... Так же как и в винде у gcc есть только одно достоинство - бесплатный!!! GCC, вроде, стандарты лучше поддерживает, с шаблонами лучше работает (спорно)... поддерживает много архитектур. Код оптимизированный достаточно... Вот смотрю я описание функции qVariantValue Цитировать T qVariantValue ( const QVariant & value ) Returns the given value converted to the template type T. This function is equivalent to QVariant::value<T>(value). It is provided as a work-around for MSVC 6, which doesn't support member template functions. Хотя это они про MSVC 6 говорят... В любом случае под такими высказываниями (да еще и с воскл. знаками) надо как минимум три раза ставить ИМХО. Чем же тебе так не угодил гнутый компиллер?? От тебя что, девушка сбежала из-за него?! По поводу того, "каким компилятором лучше компилить проги на C++", то все зависит от окружающих условий. Ну там ОС и т.п. Ты уже, кстати, сам ответил на свой вопрос, судя по твоим пристрастиям) Название: Re: Компиляторы C++ Отправлено: troorl от Марта 17, 2007, 15:34 Цитата: "_govorilka" Хотелось бы обсудить: каким компилятором лучше компилить проги на C++? Вот мое мнение: Под винду - Мне нравится Microsoft С++ 7.1 или Intel C++ 8.0 Intel C++ 9.0 под винду глючит, да и VS интеграции нет. Intel C++ 9.1 еще не видел, Microsoft С++ 8.0 - сам компилятор нормальный, но система манифестов - полный идиотизм!!! То что есть от Borland, и есть от Borland (Это переделанные Паскали!!!). У MinGW есть только одно достоинство - бесплатный, по всем остальным параметрам говно! Под Linux, мне кажется, что лучший - это Intel C++ 9.0, хотя у меня была возможность сравнить только с gcc, может у кого есть что-то другое. Так же как и в винде у gcc есть только одно достоинство - бесплатный!!! Для Linux на Intel C++ можно компилировать и Qt Open Source!!! Под Mac - ??? (не разу просто проги под Mac не писал). Я увижу хоть один аргумент, подтвержающий твои вопли? Название: Re: Компиляторы C++ Отправлено: _govorilka от Марта 17, 2007, 18:21 Спасибо, что не мне обному интересна эта тема.
От компилятора многое зависит. Например, тут тему подымали о размере *.exe, вот этот самый размер напрямую зависит от компилятора. Под windows для сравнения я взял небольшую программу (создает простое окно посредством функций из WinAPI), этакий GUI Hello World и вот какой размер exe у меня получился: MC++ 7.1 - 180Kb MC++ 8.0 - 65Kb (мне кажется, из-за того, что CRT и API теперь грузятся динамически). IC++ 8.0 - 185Kb IC++ 9.0 - 190Kb MinGW 3.4.2 - 420Kb Хочется услышать мнение других, их тесты и результаты сравнений. Особенно под Linux и Mac. Цитата: "f_evgeny" ... Так все-таки какие параметры имеются в виду? Оптимизация кода (скорость работы и размер бинарника, объем выделяемой памяти и т.д.), поддержка языка C++, удобство и скорость работы и т.д. Любые критерии по которым можно сравнить два и более компилятора. Вот, что нашел в Google... http://www.cyberguru.ru/programming/cpp/cpp-compilers-analysis.html Название: Компиляторы C++ Отправлено: troorl от Марта 17, 2007, 18:26 _govorilka
У GCC (MinGW) есть параметры по умолчанию, равно как и у других компиляторов. Прежде чем делать такие "тестирования" неплохо было бы с ними ознакомиться. Название: Компиляторы C++ Отправлено: zabivator от Марта 17, 2007, 20:15 _govorilka спасибо, очень актуальная тема, статья на которую ты дал ссылку великолепна.
Название: Re: Компиляторы C++ Отправлено: pastor от Марта 17, 2007, 20:41 Цитата: "_govorilka" Под windows для сравнения я взял небольшую программу (создает простое окно посредством функций из WinAPI), этакий GUI Hello World и вот какой размер exe у меня получился: Приведи пожалуйста конфигурацию и версию Qt Название: Компиляторы C++ Отправлено: Mr. Пронька от Марта 17, 2007, 21:40 Странные размеры exe-шников. Взять тот же Code::Blocks, который может создавать WinAPI приложения. Создаём в нём такую программульку и компилим. Экзешник получается где-то 19-20 килобайт, а в оперативке вообще 1900 байт занимает. + runtime MinGW - 15 кило на данный момент.
добавлено спустя 47 минут: А в статейке какой-то не актуальный тест... Название: Re: Компиляторы C++ Отправлено: SLiDER от Марта 18, 2007, 03:10 Цитата: "_govorilka" У MinGW есть только одно достоинство - бесплатный, по всем остальным параметрам говно! Хотелось бы напомнить блаародному дону, что в первую очередь он СВОБОДНЫЙ, а уже потом бесплатный, под виндой ТАКИМ достоинством не может похвастаться ни один компилятор для C/C++. Да и не такое уж он говно, вы просто не умеете его готовить. Цитата: "_govorilka" Так же как и в винде у gcc есть только одно достоинство - бесплатный!!! На счет бесплатный см. выше, а в остальном вы бредите, в подавляющем большинстве случаев GCC генерирует код не сильно уступающий коду гененрируемому ICC, и при этом не только для интеловских процессоров. Или вам напомнить историю одного иска поданного в американский суд компанией AMD против Intel? Название: Re: Компиляторы C++ Отправлено: zabivator от Марта 18, 2007, 11:04 Цитата: "SLiDER" Или вам напомнить историю одного иска поданного в американский суд компанией AMD против Intel? Вот это очнеь интересно. Напомните, пожалуйста. Название: Re: Компиляторы C++ Отправлено: _govorilka от Марта 18, 2007, 11:56 Цитата: "zabivator" _govorilka спасибо, очень актуальная тема, статья на которую ты дал ссылку великолепна. Спасибо, за поддержку!!! Цитата: "pastor" Цитата: "_govorilka" Под windows для сравнения я взял небольшую программу (создает простое окно посредством функций из WinAPI), этакий GUI Hello World и вот какой размер exe у меня получился: Приведи пожалуйста конфигурацию и версию Qt Версии компиляторов, я указал, в конфигурации и настройках я ничего не менял. Для WinApi приложений - версия Qt 0.0.0 :) Цитата: "Mr. Пронька" ... А в статейке какой-то не актуальный тест... Поэтому и создал эту тему на форуме. Большинство статей по этой теме очень давно написаны, а новых практически не выходит. Цитата: "SLiDER" ...Да и не такое уж он говно, вы просто не умеете его готовить. А разве человек, который 5 лет работает с VS, может сам готовить компилятор?.. Вот поэтой причине многие и выбирают MC++ (он завернут в среду, которая сама все нашинкует и приготовит, а потом еще и на терелочку положит). Если есть ссылка на статью о том, как настраивать GCC дайте, буду очень благодарен. Название: Компиляторы C++ Отправлено: evilguard от Марта 18, 2007, 12:08 В тесте приведено сравнение stl разных компиляторов. Было бы интересно вместо компиляторов сравнить по такой же методике stl, входящей в состав компилятора(любого) и stl от троллей.
Название: Компиляторы C++ Отправлено: _govorilka от Марта 18, 2007, 12:23 Цитата: "evilguard" В тесте приведено сравнение stl разных компиляторов. Было бы интересно вместо компиляторов сравнить по такой же методике stl, входящей в состав компилятора(любого) и stl от троллей. Надо попробывать... Название: Компиляторы C++ Отправлено: SLiDER от Марта 18, 2007, 15:58 Цитата: "zabivator" Цитата: "SLiDER" Или вам напомнить историю одного иска поданного в американский суд компанией AMD против Intel? Вот это очнеь интересно. Напомните, пожалуйста. Легко, например здесь -> http://www.rol.ru/news/it/news/05/06/29_003.htm, где-то была статейка и по подробнее, google вам в руки. 8) добавлено спустя 3 минуты: О, а вот и еще. http://www.securitylab.ru/news/215751.php Название: Компиляторы C++ Отправлено: troorl от Марта 18, 2007, 16:07 Цитировать А разве человек, который 5 лет работает с VS, может сам готовить компилятор?.. Вот поэтой причине многие и выбирают MC++ (он завернут в среду, которая сама все нашинкует и приготовит, а потом еще и на терелочку положит). Если есть ссылка на статью о том, как настраивать GCC дайте, буду очень благодарен. Он и код за вас пишет? Интересные у нас программисты, которые за пять лет работы даже не подумали поковырять настройки компилятора... Название: Re: Компиляторы C++ Отправлено: SLiDER от Марта 18, 2007, 16:07 Цитата: "_govorilka" Цитата: "SLiDER" ...Да и не такое уж он говно, вы просто не умеете его готовить. А разве человек, который 5 лет работает с VS, может сам готовить компилятор?.. Вот поэтой причине многие и выбирают MC++ (он завернут в среду, которая сама все нашинкует и приготовит, а потом еще и на терелочку положит). Если есть ссылка на статью о том, как настраивать GCC дайте, буду очень благодарен. В данном случае лучшей статьей я считаю документацию на компилятор, ну или книжки на ту же тему (на ozon.ru посмотрите), а еще можно пройтись google-ом с такой поисковой фразой -> "оптимизация GCC", результат будет такой Цитата: "google.com" Результаты 1 - 10 из примерно 91 100 для оптимизация GCC. (0,12 секунд) Название: Re: Компиляторы C++ Отправлено: pastor от Марта 18, 2007, 17:41 Цитата: "_govorilka" Версии компиляторов, я указал, в конфигурации и настройках я ничего не менял. Для WinApi приложений - версия Qt 0.0.0 :) Не обратил я внимание на то, что приложения ты написал на WinApi ))) Размер тока получился шото великоват. Выложи исходники, я у себя попробую собрать. Название: Re: Компиляторы C++ Отправлено: vregess от Марта 19, 2007, 09:58 Цитата: "_govorilka" А разве человек, который 5 лет работает с VS, может сам готовить компилятор?.. Вот поэтой причине многие и выбирают MC++ (он завернут в среду, которая сама все нашинкует и приготовит, а потом еще и на терелочку положит). ... и плюнет в тарелочку. Откуда мы знаем что он там накомпилировал? Мож он туда свой код вставил а-ля "пасхальное яйцо"... Вот мысль такая пришла: может все скрытые и ненужные приколы в виндовых приложениях не программисты наделали, а ms компиллер понасувал? ) Цитата: "_govorilka" Если есть ссылка на статью о том, как настраивать GCC дайте, буду очень благодарен. например man gcc - снего можно начать. можно полазить на гентушных форумах - там про оптимизацию кода есть точно, сам читал. gentoo.org - вроде такой адрес, давно не интересовался. flying with gentoo - так вроде тема называлась Название: Компиляторы C++ Отправлено: sector от Марта 19, 2007, 10:41 Народ!!! Вся эта тема из серии "поцелуй меня в плече! - а зачем?? - ну ты ведь тоже из далека начал"))) Все что мона предоставляет gcc и mingw меня они полностью удовлетворяют... а если чел не видел никогда настроек?? я не понимаю зачем поднимать подобный вопрос!!! Вообщем стыдно товарищььь!!! GCC forever!!! ))) ну или кому что нравиться)))
Название: Компиляторы C++ Отправлено: Вудруф от Марта 20, 2007, 11:36 Во-первых, strip вам в руки, и будет размер бинарника значительно меньше.
Во-вторых, когда я тестировал GCC vs MS VS 6.0 (давно было), то у меня код VS работал быстрее. А потом я нашёл -O3 :) Думаю, не стоит говорить, что у VS оптимизация по умолчанию включена. Нормальной поддержки кода Код:
не было и в VS 7 (дальше я уже не пользовал). И, наконец, у меня в linux'е GCC работает быстрее, чем в винде. К тому же у меня процессор от AMD, а тот же ICC только для Intel рулит... Поддержка стандарта - тоже важный момент. В GCC сейчас нет экспортируемых шаблонов (так их вообще ещё нигде толком нет), но в остальном она стандарт поддерживает наиболее полно. Куча настроек, позволяющих сильно влиять на процесс компиляции. GPL для компилятора и LGPL для библиотек - это существенный плюс. Мне как то раз парень сказал - GCC говно, программа в три раза медленнее работает. После чего я спросил: "А какие флаги оптимизации? Как компилил?" Ответ: "g++ myprog.cpp -c". Сразу всё стало понятно. Ещё нужно смотреть качество стандартной библиотеки. P.S. А вообще, это действительно holy war: MS vs FSF Название: Компиляторы C++ Отправлено: evilguard от Марта 20, 2007, 13:40 Цитата: "Вудруф" Ещё нужно смотреть качество стандартной библиотеки. Я уже тут задавал вопрос - а хороша ли реализация stl(контейнеров, строк) от троллей. И какие ключи оптимизации для gcc? -O3 ? Название: Компиляторы C++ Отправлено: vregess от Марта 20, 2007, 13:53 По теме:
http://www.rsdn.ru/article/devtools/devtools.xml и посе этого GCC/mingw - говно? Название: Компиляторы C++ Отправлено: Alex Forth от Марта 20, 2007, 15:06 Цитата: "vregess" По теме: http://www.rsdn.ru/article/devtools/devtools.xml и посе этого GCC/mingw - говно? Статейка довольно жиденькая :x Кто хочет разобраться в кодогенерации - читайте Криса Касперского "Фундаментальные основы хакерства" Название: Компиляторы C++ Отправлено: vregess от Марта 20, 2007, 22:25 Цитата: "Alex Forth" Цитата: "vregess" По теме: http://www.rsdn.ru/article/devtools/devtools.xml и посе этого GCC/mingw - говно? Статейка довольно жиденькая :x Кто хочет разобраться в кодогенерации - читайте Криса Касперского "Фундаментальные основы хакерства" Дело совсем не в кодогенерации... :x В смысле, не совсем в кодогенерации. Название: Компиляторы C++ Отправлено: _govorilka от Марта 21, 2007, 04:32 Цитата: "evilguard" ...Я уже тут задавал вопрос - а хороша ли реализация stl(контейнеров, строк) от троллей... Стандартные контенеры (QList, QVector, QStack и т.д.) работают быстрее, чем стандартные (stl::list, stl::vector). Вот маленький пример кода (не думаю что тролли оптимизировали QTime под свои контенеры): Код: #include <QtCore/QCoreApplication> добавлено спустя 28 минут: Цитата: "vregess" По теме: http://www.rsdn.ru/article/devtools/devtools.xml и посе этого GCC/mingw - говно? Спасибо, за интересную ссылку. Название: Компиляторы C++ Отправлено: Alex03 от Марта 21, 2007, 07:06 Цитата: "_govorilka" Стандартные контенеры (QList, QVector, QStack и т.д.) работают быстрее, чем стандартные (stl::list, stl::vector). Вот маленький пример кода ... Если с контейнерами от тролей всё ясно, то понятие "стандартные (stl::list, stl::vector)" уж очень абстрактное. Реализаций море. Хоть бы ОС, компиллер, либы упомянули. Название: Компиляторы C++ Отправлено: Вудруф от Марта 21, 2007, 10:58 Код:
Вывод: STD: 25 Qt: 36 Компилятор: GCC (MinGW) 3.4.5 Опции: -O3 Два цикла для того, чтобы не выделять много памяти. Я не запускал программу в предложенном виде, а комментировал всё, относящееся к QVector или к std::vector в зависимости от теста. По памяти: Пик для STD - 1648 Кб Пик для Qt - 2212 Кб Для списка (list): Время: STD: 945 Qt: 38 (!) Память: Пик для STD - 3140 Кб Пик для Qt - 2200 Кб Странные результаты, такое ощущение, что QList - это не полноценный список, а дек (в том виде как он представлен в STD). В assistant видим: "It stores a list of values and provides fast index-based access as well as fast insertions and removals.", что в какой-то мере подтверждает наши выводы. Для дека (std::deque): Время: 16 (!) Память: 1192 Кб (!) А ведь список - это контейнер, ориентированный на быструю вставку элемента в произвольное место. Проверим время вставки в произвольное место. Вставляем в конец три элемента, запоминаем итератор, вставляем ещё один элемент, а затем вставляем много элементов перед итератором: Время: STD: 9 Qt: <1 std::deque: 2 Подозрения не подтвердились. QList отлично обрабатывает вставку в произвольное место. На досуге покопаюсь в исходниках Qt и посмотрю, как он реализован. Вывод: контейнеры STD работают не хуже контейнеров Qt. Более того, только для использования контейнеров не имеет смысл тащить за собой QtCore. STL весит значительно меньше. С другой стороны QList работает быстрее, чем std::list... С использованием reserve тесты для векторов становятся неинтересными. Равно как нет смысла проверять скорость обращения к элементам для тех же векторов. По идее надо было бы тесты сделать более обширными, посмотреть также QMap и std::map, но лениво... Пока что покопаюсь в исходниках. Возможно, падение производительности связано с гарантиями операций, можно и в эту сторону копнуть. Название: Компиляторы C++ Отправлено: pastor от Марта 21, 2007, 14:16 Воспользовавшись примером _govorilka, провел тесты с некоторыми контейнерами Qt - QMap, QList, QLinkedList, QVector и STL - std::map, std::list, std::vector. Результаты получиличь следующие:
Код: std::list QList ЗЫ: В тесте на insert вставка производилась после 1 элемента. Кол-во итераций ученьшено в 100 раз. Код: std::list QLinkedList Код: std::vector QVector ЗЫ: В тесте на insert вставка производилась после 1 элемента. В двух последних тестах кол-во итераций ученьшено в 100 раз. Код: std::map QMap ЗЫ: Кол-во итераций ученьшено в 10 раз. Qt 4.2.2, VS2005, Приложения собраны в Release Название: Компиляторы C++ Отправлено: Dendy от Марта 21, 2007, 20:13 Всё нужно использовать там, для чего оно предназначено.
Большинство операций со списком связаны с добавлением/удалением в начало и конец. Для этих случаев используется QList, который внутри представляет собой цепочку массивов. Результаты - сами видите. Очень нужный контейнер, со внутренней структурой, которой нет аналогов по оптимизации скорости работы. В единицах случаев, когда нужно вставлять/удалять элементы всередине списка, причём гораздо чаще, чем простое наполнение списка - используется QLinkedList, элементы которого хранят ссылки на следующий и предыдущий. Фактически - это аналог std::list. Ну и с вектором всё понятно. Этот класс нужен для обращения к цельному куску памяти, выделенной заранее. Если и происходит изменение его размера - то очень редко. Соответственно вышеприведённый тест не имеет смысла, разве что чтобы ещё раз убедиться в необходимости грамотного подхода к выбору контейнера. Название: Компиляторы C++ Отправлено: pastor от Марта 21, 2007, 20:34 Цитата: "Dendy" Соответственно вышеприведённый тест не имеет смысла, разве что чтобы ещё раз убедиться в необходимости грамотного подхода к выбору контейнера. Именно для этого и преведены тесты, чтобы видеть разницу между контейнерами, как Qt так и STL, ну и между собой соответственно Название: Компиляторы C++ Отправлено: evilguard от Марта 21, 2007, 21:59 То есть QList - аналог std::deque, а QLinkedList - std::list?
Название: Компиляторы C++ Отправлено: _govorilka от Марта 22, 2007, 04:15 Цитата: "Alex03" ...Если с контейнерами от тролей всё ясно, то понятие "стандартные (stl::list, stl::vector)" уж очень абстрактное. Реализаций море. Хоть бы ОС, компиллер, либы упомянули. Вот, на чем проверял WinXPPro/MC++8.0 (либа стандартная), как проверял написано в исходнике. Если проверите под gcc, скажу вам огромное спасибо!!! В Qt, как мне кажется, iterator'ы написаны удобнее, или просто к ним уже привык. По Qt контенерам есть справка, а по STL... Название: Компиляторы C++ Отправлено: Вудруф от Марта 22, 2007, 08:41 По QVector: зачем разрешать явно неэффективные операции? Если такие операции нужны, то нужно использовать другой контейнер. Вот в std::vector insert нет, и это правильно.
Да, получается, что QList - аналог std::deque. Кстати, логично, что у меня со вставкой результаты дурные получались. У меня перемещать надо было только два элемента, а не все. Вставка после первого элемента - более правильный тест. Для std::vector push_back имеет смысл делать. При грамотном перераспределении памяти операция получается не накладной. Тут надо смотреть асимптотическую (в пределе) сложность операции. И тут QVector проигрывает. Шутки ради ещё надо сравнить скорость поиска в std::map и QMap, скорость обращения к элементам в векторе и деке, а также скорость выполнения std::sort для... std::list и QLinkedList. добавлено спустя 5 минут: Цитировать По Qt контенерам есть справка, а по STL... А Google не рулит? Вот сходу ссылки нашёл: http://www.sgi.com/tech/stl/ http://solarix.ru/for_developers/cpp/stl/stl.shtml http://en.wikipedia.org/wiki/Standard_Template_Library И книжка хорошая есть. Nicolai M. Josuttis "C++ Standard Library, The: A Tutorial and Reference" Название: Компиляторы C++ Отправлено: evilguard от Марта 22, 2007, 09:03 Я конечно точные тесты не проводил, но ради интереса модифицировал совю программу. В ней использовались объекты QPolygonF. Полигоны я заполнял точками по одной, с нуля, то есть изначально контейнер пустой и по ходу выполнения программы заполняется точками, причем как в конец - append, так и в начало - prepend. Посмотрел на здешние результаты, решил заменить QPolygon (который QVector<QPointF>) на QList<QPointF> - ожидал десятикратный прирост в операции prepend, а вместо этого общая скорость расчета увеличилась раза в 2.
добавлено спустя: еще раз проверил, в той част программы, где я ожидал прироста от prepend + QList, видимого прироста не обнаружил. В другой части кода, где заметное падение производительности от использования QList - раньше я использовал конструктор QVector<QPointF> container(size). Для QList же выделение памяти блоком невозможно, поэтому наверное и такое падение скорости. Хотя точно не уверен. |