Пятница, 15.11.2024, 21:49
Приветствую Вас Гость | RSS

DELPHI Report

Каталог статей Delphi Report

Главная » Статьи » Общие вопросы

Оптимизируем код
Что-бы сделать оптимальный код по критерию ресурса времени и памяти, используйте профилировщики. Вашему вниманию предоставляется


AQTime

Последнюю триал версию продукта можно скачать по ссылке http://automatedqa.com

"Хорошую" версию с ключом (была доступна версия 5.40), но не последнюю здесь:
http://www.pnasoft.com/archive/tags/AutomatedQA/default.aspx

 или скачать здесь

ProDelphi

Немецкий продукт, в триал версии имеются ограничения.

 www.prodelphi.de

Delphi Profiler

Самый простой и старый вариант профилировщика. Для работы необходим FrogBit.

скачать с этого сайта



Полезно так же почитать книгу Джулиана Банкелла "Фундаментальные алгоритмы и структуры данных", которую можно купить или скачать электронную версию в интернете.

А вот 9 полезных советов из одной статьи ("Компьютерра") по этому вопросу:

Девять полезных советов

1 При написании кода программ старайтесь избегать процедур, состоящих из сотен строк. Практически всегда в них можно выделить блоки, которые лучше оформить в виде отдельной процедуры. Возможно, позже вы ею даже воспользуетесь где-то в другом месте. Не говоря уже о том, что это повышает понимание программы и вами, и другими программистами. К тому же так проще искать «узкие» места в вашей программе.
2 Пользуйтесь оператором case вместо многократных if… else if… Во втором варианте компилятор будет выполнять проверку условия столько раз, сколько у вас вариантов. В первом проверка выполняется лишь однажды.
3 Некоторые действия могут быть довольно продолжительными, поэтому выносите за рамки цикла все, что можно выполнить вне его, чтобы избежать большого числа повторений внутри цикла.
4 В циклах типа for нужно стараться, чтобы значение счетчика уменьшалось до нуля, а не наоборот — начиналось с нуля. Это связано с особенностями процессора. Сравнение с нулем выполняется гораздо быстрее, чем с другим числом.
5 Старайтесь пользоваться типом Variant только при необходимости. Операции над этим типом сложнее, чем, например, над Integer или String.
6 Не используйте компонент TTreeView для хранения древовидных структур данных — он работает очень медленно и предназначен только для отображения. Когда я заменил этот компонент самодельным деревом на основе TList, программа стала работать быстрее примерно в сто раз.
7 Не пытайтесь приспособить RichEdit для подсветки синтаксиса. Он для этого не предназначен и работает в данном случае очень медленно.
8 Сохранение и загрузка свойств компонентов с помощью методов ReadComponent и WriteComponent работает довольно медленно, поэтому по возможности старайтесь сохранять и восстанавливать состояние программы между сеансами при помощи других способов.
9 Если вы заранее знаете, что в списке для поиска будет много элементов, постарайтесь отсортировать его и применять бинарный поиск вместо линейного.





Категория: Общие вопросы | Добавил: delphi (29.09.2008)
Просмотров: 3405 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта
Google
Форма входа
Категории раздела
Общие вопросы [3] Среда Delphi [1]
Создание отчетов. Rave Reports [6] - Delphi DLL [9]
- Работа с реестром [5] Внешний вид программы [9]
Прикладные программы [1]
Здесь будут размещаться программы, файлы и по возможности описание программ прикладного характера
MS Office (MS Word, MS Excel ) [40]
Aвтоматизация отчетов с помощью средств MS Office (Word, Excel)
Построение графиков TChart, TDBChar [10] Matlab [3]
Здесь будут представлены примеры и статьи решения математических задач в среде матричных вычислений Matlab
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2024