![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
||
|
Kiber_rat |
|
|||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: нет Всего: 9 |
Итак, память становится вроде не очень критичным параметром, но интересно знать как Вы лично к этому относитесь...
-------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Конечно волнуют, но обычно не в том аспекте когда утилита весом (с библиотеками) 1 метр пишется на одних API и на этом экономится масса памяти... Достаточно подсчитать простейшие затраты труда программиста, даже если он свободно пишет на API, на набор сотен строк кода чтобы обойти использование визуальных библиотек, то окажется что докупить лишнюю память намного легче. Другое дело приложения которые работают в автоматическом режиме - например сканируют чего-то, отсылают почту, сервера какие-нибудь - тут нужно очень внимательное программирование чтобы избежать утечек памяти. На действительно больших бизнес-приложениях проблема памяти вообще стоит не очень остро - обычно используются довольно большое количество общих библиотек, распределенных приложений, т.е. рабочий код "размазывается" по многим компьютерам и там на первое место выходят проблемы взаимодействия между частями. В целом за мою многолетнюю практику я не часто вынужден был реально задумываться над проблемами памяти (я имею ввиду не случаи когда хотелось бы поменьше использовать память, а именно когда было необходимо над этим работать)
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Лично я считаю, что программирование должно развиваться по пути "проработки" кода, а не докупания железа. Да, труд программиста зачастую дороже сотен мегабайт, но вот если Ваша программа используется тысячью людей, то общий расход у них привысит "экономию" ...
Свою точку зрения я старался отстаивать даже тогда, когда писал на 100% коммерческие программы в знакомой ситуации тем, кто работал в софтверных компаниях с принципом "давай быстрее - клиент не ждет ! Мы продали это еще вчера !!!". Не только память но и скорость выполнения Вашего кода зачастую сжирают кучу времени у не менее грамотных специалистов. Когда главный бухгалтер заставляет сидеть "девочек" после работы, дожидаясь окончания работы Вашей программы - это не есть хорошо. Сказанное я прежде всего отношу к себе, просьба не обижаться ![]() Когда на экране "поднимается" форма с кучей кнопок и полей ввода, отжирая метр памяти, я вспоминаю, что дос занимает ~300 кил. -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Chingachguk, я по большому счету с тобой согласен, конечно приятно иметь программы которые не велики по размеру, быстрые, рационально использующие ресурсы. Наверное какая-то часть так и должна писаться, как например драйверы, куски програм которые интенсивно используют математику и т.п. Но, мое рабочее время стоит примерно 30 долларов час (это для меня, для корпорации умножай на 2 смело - налоги, страховки и т.п.), представь себе программу на пару сотен форм - это в общем-то и не такая большая редкость, если в Дельфи мне на дизайн форм (я опускаю рабочую часть программы) уйдет пара недель, то сколько я их буду на чистом API описывать? 3-4 месяца вместо машинистки вбивать коды? Это обойдется корпорации в лишние 20 тысяч. Теперь, если я дизайн этих форм делаю в Дельфи и у меня в итоге получается пара десятков строк кода то и отладка и поиск ошибок минимальны(обычно тестеру потребуется 3-4 дня), а если я все делаю руками то исходный код будет составлять уже тысячи и тысячи строк - это еще тестировать несколько месяцев надо (я только о дизайне пока говорю-на коде потери будут несоизмеримо большими). Итого мы потеряли пол-года и около 50 тысяч долларов для того чтобы сэкономить примерно 5-6 мегабайт RAM. Стоит ли это делать? Да, если программа будет продаваться тысячами экземпляров, но обычная работа программиста (примерно 90% всей работы в США) это какие-либо системы разрабатываемые в единичном экземпляре для нужд какой-то корпорации, или такие же корпоративные системы, но продаваемые - обычно клиентов на такие системы не тысячи, а десятки.
Зайдем с другой стороны, что критично в программе? Средняя программа для бизнеса - это фронт-энд какого-нибудь офиса - например секретарша имеет программу которая содержит все что ей необходимо для работы. Фокус в том что никакие больше программы ей на компьютере не нужны и не полагаются (обычно даже запрещаются), т.е. сразу можно закладываться на то что программа будет работать эксклюзивно на компьютере, и исходя из этого уже требования к памяти существенно снижаются. Кто-нибудь когда-нибудь видел программу которой нехватает например 128 метров памяти? Очень редкие экземпляры! Обычно у меня компьютер начинает ругаться когда у меня одновременно открыт Дельфи, Outlook, HomeSite, IE, и еще какие-нибудь утилиты, но это вовсе не обычная ситуация, а скорее исключение из правил... Таким образом в большинстве (90%) приложений память не является критичной. Теперь далее - вот недавно я писал програмку, относительно небольшую, это просто конфигурация к одной системе, сами формы по себе тянут максимум на 2 мегабайта, но программа интенсивнейшим образом использует запросы к десятку удаленных серверов и манипулирует довольно не слабым объемом данных, для ускорения работы я сделал програмный кэш для запрашиваемых данных примерно на 20 мегабайт, чем повысил производительность примерно на 2 порядка. Мои формы составляют только 10% от используемой памяти, так стоит ли мучиться и отказываться от визуальных объектов только для экономии 10% памяти. Тоже относится и к быстродействию - если я напишу все функции на асемблере, потрачу год и разработаю быстрейшие алгоритмы, все буду писать на прямых доступах к ресурсам и API и в итоге получу аж 0.1% прибавки к скорости, только потому что критическим моментом является ожидание прихода запроса из Денвера или Нью-Йорка. Так стоит ли это делать? Нет в данном конкретном случае - нет! По моему опыту только в 10% програм дополнительные усилия по сохранению памяти оправдывают себя - это операционные системы, обще распространенные утилиты и драйвера - все разработкой всего этого заняты считанные единицы программистов... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Kiber_rat |
|
|||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: нет Всего: 9 |
Пролистывал форум и решил сказать про писание на ассемблере под Win32. Я набрёл на сайт где сидят энтузиасты этого дела, попробовал, оказалось что писать на ASM под Win32 проще чем под DOS. Не думаю что стоит писать большие приложения но что касается всяких утилит, то это - очень удачное решение, кроме того, туда можно подключать массу статических библиотек писаных для VC++
Если модератор позволит - кину Url ![]() -------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
-------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Кидай конечно. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |