Re[9]: У меня такое чуство что у 2/3 пользователей этоУго фо
От: butcha Россия  
Дата: 21.07.11 09:05
Оценка:
Здравствуйте, Piko, Вы писали:

P>Здравствуйте, butcha, Вы писали:


DEA>>>>>... (компиляция QT — 7 часов) ...

B>>>>Прочитал — чуть со стула не упал,
B>>>>Компиляция не маленького проекта в Дельфи: (конечно это не компиляция VCL но тем не менее, все модули статические (не runtime)
B>>>>Success
B>>>>Elapsed time: 00:00:00.7
P>>>Это типа unit'ы все прекомпилированные?
B>>Да нет, зачем их перекомпилировать, просто убрана галка в "проект_опцион_пакидж_билд_виз_ранттайм_пакидж" (во, перевёл чтобы не тащить за собой дллы

P>Разницу между прекомпиляцией и перекомпиляцией понимаете? Встраивание статического рантайма в exe как вообще относится к теме долгой компиляции qt?

P>мы ведь про сравнение скорости компиляции C++ и Delphi говорим?)

Разницу я понимаю, и действительно сравниваю скорость компиляции C++ и Delphi (примерно). Когда то я занимался ерундой и полностью перекомпилировал vcl, на это у меня уходило порядка несколько минут, но не 7 часов!!!
Re[10]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: YuriKobets Россия http://www.truelaunchbar.com — замена панели быстрого запуска
Дата: 21.07.11 09:33
Оценка:
Здравствуйте, butcha, Вы писали:

B>Разницу я понимаю, и действительно сравниваю скорость компиляции C++ и Delphi (примерно). Когда то я занимался ерундой и полностью перекомпилировал vcl, на это у меня уходило порядка несколько минут, но не 7 часов!!!


Не, ну что сравнивать дельфи с плюсами по времени компиляции. Дельфи всегда била плюсы по этому параметру. Так что может и 7 часов на слабенькой машине в лет уйти
Я тут недавно заново открыл для себя опцию компилятора /MP (это для VS), так просто офигел от 4-х кратного уменьшения времени компиляции... компилятор все мои 4-е ядра на 100% загружает
Re[10]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 09:36
Оценка:
Здравствуйте, butcha, Вы писали:

DEA>>>>>>... (компиляция QT — 7 часов) ...

B>>>>>Прочитал — чуть со стула не упал,
B>>>>>Компиляция не маленького проекта в Дельфи: (конечно это не компиляция VCL но тем не менее, все модули статические (не runtime)
B>>>>>Success
B>>>>>Elapsed time: 00:00:00.7
P>>>>Это типа unit'ы все прекомпилированные?
B>>>Да нет, зачем их перекомпилировать, просто убрана галка в "проект_опцион_пакидж_билд_виз_ранттайм_пакидж" (во, перевёл чтобы не тащить за собой дллы

P>>Разницу между прекомпиляцией и перекомпиляцией понимаете? Встраивание статического рантайма в exe как вообще относится к теме долгой компиляции qt?

P>>мы ведь про сравнение скорости компиляции C++ и Delphi говорим?)

B>Разницу я понимаю,


ну так ответьте на мой вопрос — что именно у вас заняло 00.7 ? Использование прекомпилированных dcu'шек (или как там они теперь называются?)

B>и действительно сравниваю скорость компиляции C++ и Delphi (примерно).


delphi используют прекомпилированные unit'ы по дефолту. в C++ часто не используют прекомпилированные заголовки, как следствие компиляция каждого cpp файла, это обработка намного большего объёма чем содержимое этого файла.
Поэтому справедливо сравнивать компиляцию одного модуля без зависимостей от других модулей, если конечно сравниваются сами компиляторы.
Конечно синтаксис C++ намного сложнее delphi, и по-идеи даже на сравнение на отдельных модулях должен выиграть Delphi. Но на сколько я помню компилятор Delphi находится вообще в позапрошлом веке(x64 там ещё не добавили?) поэтому даже для более простого синтаксиса может выдавать большее время компиляции.
Re[11]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 09:39
Оценка:
Здравствуйте, YuriKobets, Вы писали:

YK>Я тут недавно заново открыл для себя опцию компилятора /MP (это для VS), так просто офигел от 4-х кратного уменьшения времени компиляции... компилятор все мои 4-е ядра на 100% загружает


да, классная опция — давно использую. но по-моему она немного хуже чем линуксовский make -j, так рапараллеливает компиляцию только в рамках одного проекта — то есть если много мелких проектов, выигрыш может быть минимальным. Когда make -j, выполняет все возможные цели параллельно, а не только компиляцию
Re[11]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: butcha Россия  
Дата: 21.07.11 09:47
Оценка:
Здравствуйте, Piko, Вы писали:


P>ну так ответьте на мой вопрос — что именно у вас заняло 00.7 ? Использование прекомпилированных dcu'шек (или как там они теперь называются?)


B>>и действительно сравниваю скорость компиляции C++ и Delphi (примерно).


P>delphi используют прекомпилированные unit'ы по дефолту. в C++ часто не используют прекомпилированные заголовки, как следствие компиляция каждого cpp файла, это обработка намного большего объёма чем содержимое этого файла.

P>Поэтому справедливо сравнивать компиляцию одного модуля без зависимостей от других модулей, если конечно сравниваются сами компиляторы.
P>Конечно синтаксис C++ намного сложнее delphi, и по-идеи даже на сравнение на отдельных модулях должен выиграть Delphi. Но на сколько я помню компилятор Delphi находится вообще в позапрошлом веке(x64 там ещё не добавили?) поэтому даже для более простого синтаксиса может выдавать большее время компиляции.

00.7 (семь десятых одной секунды!) занимает билд двух проектов — один содержит самописные контролы — 9 юнитов , практически во всех (8) больше тысячи строк, второй собственно приложение -4 юнита в главной форме также более тысячи строк
Re[12]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 10:02
Оценка:
Здравствуйте, butcha, Вы писали:

P>>delphi используют прекомпилированные unit'ы по дефолту. в C++ часто не используют прекомпилированные заголовки, как следствие компиляция каждого cpp файла, это обработка намного большего объёма чем содержимое этого файла.

P>>Поэтому справедливо сравнивать компиляцию одного модуля без зависимостей от других модулей, если конечно сравниваются сами компиляторы.
P>>Конечно синтаксис C++ намного сложнее delphi, и по-идеи даже на сравнение на отдельных модулях должен выиграть Delphi. Но на сколько я помню компилятор Delphi находится вообще в позапрошлом веке(x64 там ещё не добавили?) поэтому даже для более простого синтаксиса может выдавать большее время компиляции.

B>00.7 (семь десятых одной секунды!) занимает билд двух проектов — один содержит самописные контролы — 9 юнитов , практически во всех (8) больше тысячи строк, второй собственно приложение -4 юнита в главной форме также более тысячи строк


ну как бы что я и говорил: проверил простой cpp файл — пустой main + #include <fstream>
результат gcc -E (вывод препроцессора) ~ 30k строк
скорость компиляции — 0.19 , то есть пятая секунды
Re[12]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 10:04
Оценка:
Здравствуйте, butcha, Вы писали:

B>00.7 (семь десятых одной секунды!) занимает билд двух проектов — один содержит самописные контролы — 9 юнитов , практически во всех (8) больше тысячи строк, второй собственно приложение -4 юнита в главной форме также более тысячи строк


да, и кстати dcu'шки вы удаляли?
Re[13]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: butcha Россия  
Дата: 21.07.11 10:16
Оценка:
Здравствуйте, Piko, Вы писали:

P>Здравствуйте, butcha, Вы писали:


B>>00.7 (семь десятых одной секунды!) занимает билд двух проектов — один содержит самописные контролы — 9 юнитов , практически во всех (8) больше тысячи строк, второй собственно приложение -4 юнита в главной форме также более тысячи строк


P>да, и кстати dcu'шки вы удаляли?


С удалением (Clean all > BuildAll) на билд всей группы проектов уходит 1.5 секунды
Re[11]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: butcha Россия  
Дата: 21.07.11 10:25
Оценка:
Здравствуйте, YuriKobets, Вы писали:

YK>Я тут недавно заново открыл для себя опцию компилятора /MP (это для VS), так просто офигел от 4-х кратного уменьшения времени компиляции... компилятор все мои 4-е ядра на 100% загружает


Странно, а у меня она почему то не работает, я ставлю её в студии в Command Line/Additional Options — грузит только одно ядро, или вы собираете мейк файлом? Хотя какая разница...
Re[14]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 10:30
Оценка:
Здравствуйте, butcha, Вы писали:

B>>>00.7 (семь десятых одной секунды!) занимает билд двух проектов — один содержит самописные контролы — 9 юнитов , практически во всех (8) больше тысячи строк, второй собственно приложение -4 юнита в главной форме также более тысячи строк

P>>да, и кстати dcu'шки вы удаляли?
B>С удалением (Clean all > BuildAll) на билд всей группы проектов уходит 1.5 секунды

и это при размере проекта < 10k строк. и вы это пытаетесь сравнить с объёмом который выполняет компилятор при компиляции qt..
конечно ваш проект нельзя напрямую сравнить и с тем что получилась у меня для 30k строк, для чистоты эксперимента нужно сравнить компиляцию примерно одинаковых модулей без всяких включений
Re[15]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: butcha Россия  
Дата: 21.07.11 10:50
Оценка:
Здравствуйте, Piko, Вы писали:

P>и это при размере проекта < 10k строк. и вы это пытаетесь сравнить с объёмом который выполняет компилятор при компиляции qt..

P>конечно ваш проект нельзя напрямую сравнить и с тем что получилась у меня для 30k строк, для чистоты эксперимента нужно сравнить компиляцию примерно одинаковых модулей без всяких включений

Да никто не задаётся целью измерять нано-метро-секунды, я просто поражаюсь громоздкости этого самого qt. У меня стоят всего, кажется два приложения на нем, их "характерная" отличительная особенность — долгая загрузка, тормознутейший гуй, огромный объём сопутствующего инсталированого га...на (даже приложения на net кажутся в сравнении с ними просто реактивными малышами) Помнится я его ставил, побаловатся со студией, так деинсталяция (физическое удаление файлов qt с диска) заняло десяток минут (там сотня тысяч файлов кода!!!)
Re[16]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 10:59
Оценка:
Здравствуйте, butcha, Вы писали:

P>>и это при размере проекта < 10k строк. и вы это пытаетесь сравнить с объёмом который выполняет компилятор при компиляции qt..

P>>конечно ваш проект нельзя напрямую сравнить и с тем что получилась у меня для 30k строк, для чистоты эксперимента нужно сравнить компиляцию примерно одинаковых модулей без всяких включений

B>Да никто не задаётся целью измерять нано-метро-секунды,


нано? компиляция C++ файла в 30k строка заняла в 7.5 раз меньше времени, чем сборка вашего "не маленького" 10k проекта. понятное дело что это не чистый эксперимент, но с действительностью он всё же коррелирует — delphi по факту компилирует дольше, но на практике из-за постоянного использования прекомпилированных юнитов получается быстрее.

B>я просто поражаюсь громоздкости этого самого qt. У меня стоят всего, кажется два приложения на нем, их "характерная" отличительная особенность — долгая загрузка, тормознутейший гуй,


proof-link на тест скорости gui и скорости загрузки в студию.

B>огромный объём сопутствующего инсталированого га...на (даже приложения на net кажутся в сравнении с ними просто реактивными малышами) Помнится я его ставил, побаловатся со студией, так деинсталяция (физическое удаление файлов qt с диска) заняло десяток минут (там сотня тысяч файлов кода!!!)


ну как бы в QT возможностей на порядок больше чем в vcl, да и реализованы они по-красивее, не говоря уже о том как это всё выглядит.

Кстати, в delphi появился аналог std::map? или до сих пор на велосипедах ездят?
Re[17]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: butcha Россия  
Дата: 21.07.11 11:34
Оценка: :)
Здравствуйте, Piko, Вы писали:

P>proof-link на тест скорости gui и скорости загрузки в студию.


B>>огромный объём сопутствующего инсталированого га...на (даже приложения на net кажутся в сравнении с ними просто реактивными малышами) Помнится я его ставил, побаловатся со студией, так деинсталяция (физическое удаление файлов qt с диска) заняло десяток минут (там сотня тысяч файлов кода!!!)


P>ну как бы в QT возможностей на порядок больше чем в vcl, да и реализованы они по-красивее, не говоря уже о том как это всё выглядит.


P>Кстати, в delphi появился аналог std::map? или до сих пор на велосипедах ездят?


При изменении размера главного окна контролы становятся на места лишь спустя секунду после отпускания мыши! Во время протяжки края окна они похоже вообще не отрисовываются. Время от клика на заголовок окна до фидбека — полсекунды, какие тут ещё тесты нужны если у проги поведение сонной мухи. Как пользователю, мне 100500 возможностей qt до лампочки, а как разработчику гораздо приятнее писать граф. интерфейс на vcl, где есть и полный доступ к винапи, если надо и возможность нарисовать полностью кастомный контрол, и возможность банально бросить имеющийся контрол на форму и в несколько кликов связать его со своим кодом. Причем всё прекрасно вяжется и c COM и с кодом написаным на том же c++
Re[18]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 12:07
Оценка:
Здравствуйте, butcha, Вы писали:

P>>proof-link на тест скорости gui и скорости загрузки в студию.

B>>>огромный объём сопутствующего инсталированого га...на (даже приложения на net кажутся в сравнении с ними просто реактивными малышами) Помнится я его ставил, побаловатся со студией, так деинсталяция (физическое удаление файлов qt с диска) заняло десяток минут (там сотня тысяч файлов кода!!!)
P>>ну как бы в QT возможностей на порядок больше чем в vcl, да и реализованы они по-красивее, не говоря уже о том как это всё выглядит.
P>>Кстати, в delphi появился аналог std::map? или до сих пор на велосипедах ездят?

B>При изменении размера главного окна контролы становятся на места лишь спустя секунду после отпускания мыши!


Вот уже пять минут ресайзю разные QT приложения как под windows так и под linux — всё мгновенно перерисовывается во время перетаскивания.
Может просто приложение которое вы проверяли что-то делало долгое не ресайзе?

B> какие тут ещё тесты нужны если у проги поведение сонной мухи.


пруфлинк на тесты.. или хотя бы пруф-видео, если не хотите быть голословным

B> Как пользователю, мне 100500 возможностей qt до лампочки, а как разработчику гораздо приятнее писать граф. интерфейс на vcl, где есть и полный доступ к винапи,


как бы QT винапи не отменяет

B> если надо и возможность нарисовать полностью кастомный контрол, и возможность банально бросить имеющийся контрол на форму и в несколько кликов связать его со своим кодом.


в qt тоже есть кастомные контролы

B>Причем всё прекрасно вяжется и c COM и с кодом написаным на том же c++

http://doc.qt.nokia.com/latest/activeqt.html
"Qt's ActiveX and COM support allows Qt for Windows developers to:

1. Access and use ActiveX controls and COM objects provided by any ActiveX server in their Qt applications.
2. Make their Qt applications available as COM servers, with any number of Qt objects and widgets as COM objects and ActiveX controls.
"
Re[18]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 12:09
Оценка:
Здравствуйте, butcha:

так что дельфисты сейчас используют, когда им нужен аналог std::map ?
Или у них обычно настолько приложение gui'вое, что банальные карты никогда не требуются?
Re[19]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: butcha Россия  
Дата: 21.07.11 12:54
Оценка:
Здравствуйте, Piko, Вы писали:

P>Здравствуйте, butcha, Вы писали:


P>пруфлинк на тесты.. или хотя бы пруф-видео, если не хотите быть голословным


Сейчас у меня стоит собраный на qt лишь некий "Xilisoft Video Converter Platinum 6" сылки к сожалению нет, но легко найти. До этого с такими же тормозами работал софт идущий с телефонами самсунг — PCStudio кажется, тоже на qt.
Морда драйверов nvidia собрана тоже вроде на qt (стояла раньше, сейчас у меня amd) и отличается той-же неспешностью

P>так что дельфисты сейчас используют, когда им нужен аналог std::map ?

P>Или у них обычно настолько приложение gui'вое, что банальные карты никогда не требуются?

Лично у меня потребность в них (картах) никогда не возникала. В основном вся логика пишется на с++. Всё что необходимо связать с гуем прекрастно размещается в объектах типа TListItem, TTreeNode и т.д, которые легко переопределить под свои нужды и разместить в них хоть чёрта, причём всё без всяких посредников, и напрямую связано с графическим интерфейсом, контролом.
Re[19]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: hattab  
Дата: 21.07.11 12:56
Оценка:
Здравствуйте, Piko, Вы писали:

P> Здравствуйте, butcha:


P> так что дельфисты сейчас используют, когда им нужен аналог std::map ?

P> Или у них обычно настолько приложение gui'вое, что банальные карты никогда не требуются?

У дельфистов аналог мапов, очередей и прочих стеков появился так давно, что я уже даже версию не вспомню, когда это произошло. И по поводу скорости компилятора... Предлагаю тебе помедитировать над вопросом, какой компилятор работает быстрее, однопроходный или многопроходный.
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[20]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: Piko  
Дата: 21.07.11 13:18
Оценка:
Здравствуйте, hattab, Вы писали:

P>> так что дельфисты сейчас используют, когда им нужен аналог std::map ?

P>> Или у них обычно настолько приложение gui'вое, что банальные карты никогда не требуются?
H>У дельфистов аналог мапов, очередей и прочих стеков появился так давно, что я уже даже версию не вспомню, когда это произошло.

Ну покажи. Я помню искал в BDS 2005 — не нашёл. стэки и очереди видел, карты — нет

H>И по поводу скорости компилятора... Предлагаю тебе помедитировать над вопросом, какой компилятор работает быстрее, однопроходный или многопроходный.


Предлагаю тебе не давать глупые советы
Re[21]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: hattab  
Дата: 21.07.11 13:24
Оценка:
Здравствуйте, Piko, Вы писали:

P> H>У дельфистов аналог мапов, очередей и прочих стеков появился так давно, что я уже даже версию не вспомню, когда это произошло.


P> Ну покажи. Я помню искал в BDS 2005 — не нашёл. стэки и очереди видел, карты — нет


Что тебе показать? Открывай Contnrs.pas и смотри. TBucketList называется.

P> H>И по поводу скорости компилятора... Предлагаю тебе помедитировать над вопросом, какой компилятор работает быстрее, однопроходный или многопроходный.


P> Предлагаю тебе не давать глупые советы


То есть ты уже и сам понял, что сишным компиллерам не тягаться с паскалевыми? Молодец.
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[21]: У меня такое чуство что у 2/3 пользователей этоУго ф
От: butcha Россия  
Дата: 21.07.11 13:24
Оценка:
Здравствуйте, Piko, Вы писали:

P>Ну покажи. Я помню искал в BDS 2005 — не нашёл. стэки и очереди видел, карты — нет


TDictionary<TKey,TValue>
TQueue<T>
TStack<T>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.