Russian Qt Forum
Май 04, 2024, 09:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 4 5 [6]   Вниз
  Печать  
Автор Тема: Плюсолюбителям  (Прочитано 40050 раз)
PinkPanther
Самовар
**
Offline Offline

Сообщений: 169



Просмотр профиля
« Ответ #75 : Март 17, 2015, 01:46 »

Выделение "про запас" плохо не столько с технической точки зрения, сколько алогично: в коде, где память живет независимо от данных, легко запутаться, необходимо помнить о времени-месте возврата, и, к тому же, необходимо вводить счетчик, отделяющий полезную память буфера от бесполезной. На вопрос, почему буфер - 100 элементов, а не 7394, тоже может возникнуть, а значит, придется отвечать, если нет желания запоминать число 100. Такое решение говорит о недостаточно хорошо продуманном алгоритме (ошибке в подходе к данным, их размещению и обработке). Код должен оперировать только полезной информацией, а выделенная под нее память должна освобождаться сразу же, как только исчезает необходимость в обработке данных. Все остальное создает неоднозначности и коллизии. Если нас интересует размер объекта в байтах, этот интерес тоже должен иметь логическое продолжение, быть частью алгоритма.

Цитировать
А вас не интересовало никогда, с практической точки зрения, сколько памяти занимает объект? Например QObject (это всего лишь пример!).  Анализируя с помощью valgrind код, интересные вещи узнаёшь, о которых никогда бы не подумал, что там узкое место.

Нет. При высоких затратах я выигрываю в скорости разработки сносно работающей программы. Умственная лень и бабло победили добро, развратила дешевая RAM и гигагерцы. Улыбающийся Qt - черный ящик, лезть внутрь нет желания. Но хочется потрогать кнопочки, чтобы представлять пределы фантазии создателей. Если мои проекты на Qt будут развиваться, и окажется, что программы с QObject жрут слишком много и не работают на нужных машинах, поинтересуюсь, сколько захватывают QObject, QVariant,... ужаснусь, напишу что-нибудь свое, на базе простых типов. Есть расчетные задачи, где нужно считать такты CPU, но построение GUI к ним не относятся. GUI сложен и строится один раз, а Qt - это, в первую очередь, GUI.

Учитывая потребность рынка софта за последние 25 лет, выгоднее создать системы программирования для фермеров, чем рассчитывать на узкую прослойку "программистов от бога", умеющих создавать безошибочные, логически стройные программы малыми средствами. Спрос на "правильный" софт остался, но он нишевой. Программы, написанные реднеками при помощи разных адских фреймворков дешевы, разнообразны, и удивляют необычными результатами. Веселый То, что каждую вторую программулину приходится удалять сразу после инсталляции, пользователей обычно не напрягает.

Этих проблем можно избежать, если пользоваться базовыми типами данных, либо типами данных, которые имеют четкие спецификации. В противном случае вы - заложник библиотеки, объекты которой могут не только занимать много места при создании, но и раздуваться, плодя буферы неизвестного размера... Сегодня считается, что риск оправдан (если вам нужно 100% рабочее приложение - не оправдан). Qt - любительская библиотека, хотя сегодня ее продают за деньги. Это преступление? Юридически - нет, логически - да. Крутой
Записан

Эвтаназия - наше хобби!
AzazelloAV
Гость
« Ответ #76 : Март 17, 2015, 06:45 »

Нет. При высоких затратах я выигрываю в скорости разработки сносно работающей программы. Умственная лень и бабло победили добро, развратила дешевая RAM и гигагерцы. Улыбающийся

Дешёвую RAM и мегагерцы засунули в одно место обычные батарейки. Абсолютно верное высказывание, но лет 6-7 назад.  Достаточно сравнить  Java и Objective-C.  Но это лирика. Существую задачи, где производительность GUI критична, в моем случае это векторная графика. И важность скорости разработки сильно преувеличина. Прям волны какие-то изменения трендов разработки. Вспомните, почему умер Delphi -  именно из за высокой скорости разработки. Так все научились формошлёпить (кому не лень), что среда приобрела статус "ненадёжной" абсолютно по субъективным причинам (а делфистов вообще за людей не считали)

« Последнее редактирование: Март 17, 2015, 06:54 от AzazelloAV » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #77 : Март 17, 2015, 11:22 »

А вас не интересовало никогда, с практической точки зрения, сколько памяти занимает объект? Например QObject (это всего лишь пример!).
Ну почему же никогда? Подсчитывали и на этом форуме (захотите найдете). Но в этом нет необходимости. Если QObject имеет мощный ф-ционал, значит он "жирный", это нормально, все чего-то стоит. Нормальный программист интуитивно/рефлекторно решает нужен ли такой мощный объект или нет.

Да и память не плохо выделять с запасом иногда, блоками, что в этом плохого.  Что плохого, что QVector будет выделять память с запасом по 16К (подсознание выплюнуло), чем сотни вызовов выделения памяти. 
А так все практически все контейнеры и делают (и QVector тоже), никто не выделяет на каждый чих
Записан
AzazelloAV
Гость
« Ответ #78 : Март 18, 2015, 00:42 »

Что-то старожилы совсем опозорились в данном топике. Хоть топикстартер и пишет фигню по большей части, но здесь .....

Чисто интерес, про какую фигню вы говорите. Если нет желания, лучше не отвечайте, иначе про фигню более конкретно.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #79 : Март 22, 2015, 01:03 »

Чисто интерес, про какую фигню вы говорите.
Соседний топик, где вы ноете про закрытость.
Записан
AzazelloAV
Гость
« Ответ #80 : Март 25, 2015, 15:39 »

Чисто интерес, про какую фигню вы говорите.
Соседний топик, где вы ноете про закрытость.

Ну а чего не могу поныть то? Чем запрещается нытьё в нытной теме (говорилке). Тем более в соседней ветке. Вот вы поймите, я всегда не понимал людей (без обид), которые влазят в другие нытные темы, чтобы сказать, что они ноют. Т.е становятся участниками нытья. Ладно там в общественном месте каком, где эти разговоры доступны всем (всилу распростастронения звуковых волн), но тут что вас заставило? Мало того что зайти, так ещё и ответить. Прям присоединение к бабушкам на скамеечке. Но вы же на такой?

P.S. Нивкоем случае не хочу вас обидеть, также (на самом деле) считаю что на "бабушкиных скамеечках" можно выражать своё Я, но только осторожно, чтобы не обидеть других. А то "карга старая" каждый может бросить. Улыбающийся
« Последнее редактирование: Март 25, 2015, 15:58 от AzazelloAV » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #81 : Март 25, 2015, 16:23 »

Ну а чего не могу поныть то? Чем запрещается нытьё в нытной теме (говорилке). Тем более в соседней ветке. Вот вы поймите, я всегда не понимал людей (без обид), которые влазят в другие нытные темы, чтобы сказать, что они ноют. Т.е становятся участниками нытья. Ладно там в общественном месте каком, где эти разговоры доступны всем (всилу распростастронения звуковых волн), но тут что вас заставило? Мало того что зайти, так ещё и ответить. Прям присоединение к бабушкам на скамеечке. Но вы же на такой?

P.S. Нивкоем случае не хочу вас обидеть, также (на самом деле) считаю что на "бабушкиных скамеечках" можно выражать своё Я, но только осторожно, чтобы не обидеть других. А то "карга старая" каждый может бросить. Улыбающийся

Ну вы же не по делу ноете:)
Записан
AzazelloAV
Гость
« Ответ #82 : Март 26, 2015, 02:18 »

Ну вы же не по делу ноете:)

Не хотел отвечать, но не выдержал. Вы такой же нытик..... По какому делу вы сейчас проныли?
Записан
Страниц: 1 ... 4 5 [6]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 22.