Сообщений 1    Оценка 0        Оценить  
Система Orphus

Заключение


Источник: «Технология Клиент-Сервер»

Алгоритмы и структуры данных интересны как в чисто познавательных целях, так и с практической точки зрения. Рассмотренные здесь классы с некоторыми изменениями можно с успехом использовать на практике. Хотя алгоритмы в них несколько академичны, профессиональные библиотеки обычно содержат дополнительный оптимизирующий код, большинство этих библиотек написаны давно и на С. Они не учитывают новых возможностей, привнесенных языком С++, таких, как inline-функции, возможность использования родных операций сравнения (<, >, ==) и шаблонов. Все эти нововведения с успехом компенсируют отсутствие оптимизации, особенно учитывая оптимизирующие компиляторы, значительно улучшившиеся за последнее время.

Так, мы провели сравнительное тестирование приведенных здесь классов, несколько измененных с учетом особенностей Windows и новых возможностей языка С++. Скомпилированная в release-версии функция QuickSort примерно в 1.5 раза быстрее, чем ее аналог, функция qsort из стандартной библиотеки С (CRT) производства Microsoft. Существуют аналоги класса HashTable, но они обычно интегрированы в большие библиотеки типа MFC. Аналоги классов BinSTree и AVLTree можно найти только в дорогостоящих специализированных библиотеках.

Приведенные здесь классы и алгоритмы мало зависят от платформы, и, соответственно, позволят ваши программы более переносимыми и компактными. Библиотека ascLib, содержащая большое количество необходимых в повседневной работе алгоритмов, постоянно обновляется, а ее последнюю версию можно найти на сайте ftp.optim.su/asc/ascLib/ascLib.zip (257 KB). Она является надстройкой над ATL и не тянет за собой никаких дополнительных библиотек. Продукты с ее использованием компилировались под Microsoft VC 6 и beta 7, а также под Borland C++ Builder 5. Единственный ее недостаток – отсутствие документации ;). Инструкцию по использованию можно прочитать в ftp.optim.su/asc/ascLib/readme.txt. Мы будем рады, если кто-нибудь захочет развивать эту библиотеку, а если кто-то захочет написать описание для нее, мы с радостью предоставим дополнительную информацию. По всем вопросам обращайтесь по адресу audit@optim.su.


Впервые статья была опубликована в журнале <Технология Клиент-Сервер>.
Эту и множество других статей по программированию, разработке БД, многоуровневым технологиям (COM, CORBA, .Net, J2EE) и CASE-средствам вы можете найти на сайте www.optim.su и на страницах журнала.
    Сообщений 1    Оценка 0        Оценить