Производительность - программа - Большая Энциклопедия Нефти и Газа, статья, страница 2
Восемьдесят процентов водителей оценивают свое водительское мастерство выше среднего. Законы Мерфи (еще...)

Производительность - программа

Cтраница 2


Однако индексные файлы в системе Clipper имеют иную, более эффективную организацию, что наряду с компиляцией способствует существенному повышению производительности программ на стадии исполнения. В ранних версиях индексные файлы dBaselll PLUS подменялись файлами системы Clipper аналогичного назначения автоматически на стадии исполнения либо заблаговременно с помощью специальной утилиты.  [16]

Нужно сказать, что MSC / NASTRAN является достаточно консервативной программой, и различия в версиях, начиная с версии 7.0.7, когда была значительно увеличена производительность программы, касаются исправления погрешностей в работе программы и незначительной модификации ее компонентов. Как правило, отличия одной версии от другой для пользователя незаметны.  [17]

По сравнению с остальными мониторами РАФОС TS-монитор содержит ряд дополнительных средств: спу-линг для медленных устройств вывода, разделяемые файлы, обмен информацией между задачами с помощью почтовых ящиков, средства оценки производительности программ, командные файлы с параметрами и учет использованных ресурсов системы.  [18]

В качестве другого примера можно изменить программу 4.20 таким образом, чтобы она периодически распечатывала лишь несколько первых элементов каждой очереди, и можно было бы отслеживать продвижение очередей даже тогда, когда они становятся очень большими. Однако, когда очереди будут очень большими, производительность программы существенно снизится, поскольку при инициализации локальной переменной в цикле for вызывается конструктор копирования, который создает копию всей очереди, даже если требуется всего лишь несколько элементов. Далее, в конце каждой итерации цикла память, занимаемая очередью, освобождается деструктором, так как она связана с локальной переменной. Для программы 4.20 в ее нынешнем виде, когда выполняется доступ к каждому элементу копии, дополнительные затраты на выделение и освобождение памяти увеличивают время выполнения только на некоторый постоянный коэффициент. Однако, если требуется доступ всего лишь к нескольким элементам очереди, платить столь высокую цену было бы неразумно. Пожалуй, в такой ситуации для операции копировать большее предпочтение стоит отдать реализации, используемой по умолчанию, которая копирует только указатели, и добавить в этот АТД операции, обеспечивающих доступ к элементам очереди без ее модификации.  [19]

Если вы часто увеличиваете размер таблицы подобным образом, большая часть данных будет храниться в блоках переполнения. Тогда для того, чтобы найти или добавить элемент, требуется исследовать множество блоков и производительность программы резко снизится.  [20]

Однако и в анализе средней производительности существуют трудности. Во-первых, входная модель может неточно характеризовать входные данные, встречающиеся на практике, или же естественная модель входных данных может вообще не существовать. Мало кто будет возражать против использования таких моделей входных данных, как случайно упорядоченный файл, для алгоритма сортировки или случайный набор точек для геометрического алгоритма, и для таких моделей можно получить математические результаты, которые будут точными предположениями о производительности программ в реальных приложениях. Но как можно характеризовать входные данные для программы, которая обрабатывает текст на английском языке. Даже для алгоритмов сортировки в определенных приложениях рассматриваются другие модели кроме модели случайно упорядоченных данных. Во-вторых, анализ может требовать глубоких математических доказательств. Например, анализ случая средней производительности для алгоритмов union-find достаточно сложен.  [21]

Хотя по причине фундаментальной взаимосвязи между стеками и рекурсивными программами ( см. главу 5), со стеками приходится сталкиваться чаще, чем с очередями FIFO, будут также встречаться и алгоритмы, для которых очереди являются естественными базовыми структурами данных. Как уже отмечалось, очереди и стеки используются в вычислительных приложениях чаще всего для того, чтобы отложить выполнение того или иного процесса. Хотя многие приложения, использующие очередь отложенных задач, работают корректно вне зависимости от того, какие правила удаления элементов задействуются в операциях удалить, общее время выполнения программы или использования ресурсов, может зависеть от применяемой дисциплины. Когда в подобных приложениях встречается большое количество операций вставить или удалить, выполняемых над структурами данных с большим числом элементов, различия в производительности обретают первостепенную важность. Поэтому в настоящей книге столь существенное внимание уделяется таким АТД. Если бы производительность программ не интересовала, можно было бы создать один единственный АДТ с операциями вставить и удалить, однако производительность является предельно важным показателем, поэтому каждое правило, в сущности, соответствует своему АТД. В заключение данного раздела описываются несколько таких АТД, которые будут рассматриваться подробно в следующих главах.  [22]



Страницы:      1    2