(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 

Конференция "Embarcadero"

Обсуждение вопросов, связанных с компанией Embarcadero, ее продуктами RAD Studio, C++Builder, Delphi и другими.

 
 
Добавить сообщение »

Тема: Обсуждение материала "Написание оптимального кода под Delphi"

В данной статье рассмотрены принципы, помогающие компилятору Delphi генерировать более оптимальный с точки зрения скорости код. Если Вы не хотите вникать в подробности, в конце статьи есть "свод правил", которые рекомендуется соблюдать при написании программ.

Автор:  schmuck Дата: 12.05.2019 14:05
Delphi выполняет все почти именно так, как должен. Это как раз переизбыток "оптимизации" в последних версияъ иногда приводит к непредсказуемым трудноотлавливаемым ошибкам. В идеале (для меня, по крайней мере) оптимизатор должен оптимизировать код с учетом аппаратной платформы. Не более, не менее. Исправлять синтаксис он не должен. Для этого есть программист.

Delphi не оптимизирует не изменяемые переменные... Так, если вы знаете, что переменная неизменяемая, какого лешего тогда он не объявлен костантой? Раз программер это сделал, значит так было нужно (или ошибся). Но исправлять чужие ошибки, или додумывать, что там было нужно программисту компилятор не должен. Если у человека плохой стиль программирования, компилятор тут не поможет. И не должен.
В теории, после сборки всех файлов Delphi должен знать, будет использоваться (меняться) та или иная переменная или нет. Но это в теории... С учетом разрастания кода времени выполнения, который от версии к версии все популярнее, знать это наверняка - нельзя.

Арифметические "хаки", пришедшие к нам от ассемблерщиков и микрокристалльщиков всегда узкоспециализированные. Всегда. Держать таблицу всех возможных вариантов подстановок, с кучей различных функций и прочего - не лучшее решение. Кроме того, многие бит-хаки платформо- и аппаратнозависимые.

Постоянный подсчет some_object.count в цикле. Должен быть. Сколько допущено ошибок, связанных с тем, что та или иная коллекция меняет свой размер в цикле. Этот процесс - плохая практика программироваяния? По ситуации, но часто - да. За плохой стиль человека отвечает компилятор? Нет. Но, по крайней мере, компилятор пытается эти ошибки перехватить.

Основной минус оптимизатора Delphi в его неглубоком синтаксическом анализе, поэтому фишки, вроде ветвлений, вынесения циклокода и пр. - да, согласен, тут он проигрывает многим сторонним компиляторам. Хотя для меня, повторюсь, не критично.
Ответить на сообщение »
 

Добавить сообщение »

 Распечатать »
 Правила публикации »
   
 Рекомендовать »  
 

Магазин программного обеспечения   WWW.ITSHOP.RU
FastCube.Net Standard Edition Single License
The BAT! Professional - 1 компьютер
WinRAR 5.x Standard Licence - для частных лиц 1 лицензия
ESET NOD32 Smart Security Platinum Edition - лицензия на 2 года на 3ПК, Ключ
erwin Data Modeler Standard Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
eManual - электронные книги и техническая документация
Один день системного администратора
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Написание оптимального кода под Delphi (1)
Delphi выполняет все почти именно так, как должен. Это как раз переизбыток "оптимизации" в...
 
Скачиваем файлы из интернета при помощи Delphi (1)
Почему то не скачивает, хотя прогресс показывает...
 
получение информации об устройстве. (3)
Добрый день. Программа должна обслуживать любые устройства от любого производителя типа:...
 
Легализация программы написанной на нелицензионной платформе Delphi7 (4)
Была написана программа используя нелегальный продукт Delphi 7. Потом эту программу продали...
 
Direct Show и Delphi (1)
Здравствуйте. Как получить в DirectShow9 (DirectSound) функцию похожую на...
 
 
 



    
rambler's top100 Rambler's Top100