Показать сообщение отдельно
  #27  
Старый 10.03.2012, 21:48
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Байты надо экономить и считать, да. Но без фанатизма.
Я не так давно тоже страдал таким: мол экономия аж 4 байта, надо юзать. Но когда окинул взглядом объемы современной памяти, понял, что это ерунда. Через пару лет 8 миллиардов байт оперативки (8гб) будет уже нормой жизни. Заполнить это просто нереально на десктопных ПК. Я ради эксперимента пару раз смотрел, сколько у меня памяти занято. Мощная игра - 1.2 ГБ. 3Д редакторы - около 300 мб. Остальное меньше 100 мб. Если всё сложить - едва ли на 2 ГБ хватит. Свободным остается еще очень, очень много места. Порой можно пожертвовать и 16 байт на структуру ради выравнивания и скорости.

По поводу прироста в конкретном случае - опять же, зависит от компилятора. На самом глупом компиляторе да, будет сильный прирост: 1 обращение * количество повторов = много. А вот с умным - не очень: первым же делом умный компилятор запишет адрес строки в регистр и будет дальше оперировать с ним, так что прирост будет всё в то же 1 обращение к памяти.

ЗЫЖ если циклиться на объемах памяти, то нужно полностью отказываться от ООП и тем более разного рода скриптов, юзать только ПОП и по возможности исключать из процесса написания кода языки высокого уровня. Но прогресс не стоит на месте, и ради удобства и уменьшения времени, затраченного на разработку ПО, обычно жертвуют памятью и скоростью. Хотя разумеется, при написании специфических приложений стоит по-максимуму оптимизировать отдельные участки кода, которые критичны в конкретной программе (если таковые имеются).
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием