ВУЗ:
Составители:
Рубрика:
69
Рис . 4.1.
Таким образом , помимо поддержки абстрактных типов данных, о
которых мы много говорили в части 2, объектное расширение языка Pas-
cal берет на себя часть рутинных операций, связанных с определением
нового типа, и, что самое главное , позволяет создавать обобщенные ал-
горитмы, не отказ ы ваясь от преимуществ строгой типизации. При этом
значительная часть проверок и приведений типа по-прежнему произво-
дится не во время выполнения, а на этапе компиляции, чем достигается
более быстрая работа приложения.
4.5. Вопросы оптимизации
Использованная нами реализация наследования обеспечивает
очень в ы сокую скорость динамического связывания. Для определения
нужной подпрограммы требуется извлечь из памяти всего один указ а-
тель, причем его адрес получается из адреса объекта добавлением сме-
щения, величина которого и з вестна уже на этапе компиляции.
Как это часто бывает, столь быстрый алгоритм приводит к з начи-
тельному перерасходу памяти, вызванному хранением в каждом объекте
Ссылка на объ ект
типа Number
TypeNameIs
Destroy
Plus
Minus
Dot
Slash
Add
Subtract
MultiplyBy
DivideBy
Normalize
Reduce
num
den
Функция TypeNameIs
для типа Rational
0
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
Ад рес уем ы й объект
с точки з рения ком пил ят ора
Реал ь ны й ад рес уем ы й объект
в о в рем я в ы пол нения програм м ы
Функция Destroy
для типа Rational
Функция Plus
для типа Rational
Сс ы л ка на объект 0 т ипа Number TypeNameIs +1 Destroy с точки з рения ком пил ятора +2 Plus Ад рес уем ы й объект в ов рем я в ы пол нения програм м ы +3 Реал ь ны й ад рес уем ы й объект Minus +4 Ф ункция TypeNameIs Dot +5 д л я т ипа Rational Slash +6 Add +7 Ф ункция Destroy Subtract +8 д л я т ипа Rational MultiplyBy +9 DivideBy +10 Ф ункция Plus Normalize +11 д л я т ипа Rational Reduce +12 num +13 den +14 Рис . 4.1. Т аким образ ом , пом им опод д ержки абс т ракт ны хт ипов д анны х, о которы хм ы м ногогов орил и в час т и 2, объект ное рас ш ирение яз ы ка Pas- cal берет на с ебя час т ь рут инны хопераций, с в яз анны хс опред ел ением нов огот ипа, и, чтос ам ое гл ав ное, поз в ол яет с оз д ав ат ь обобщенны е ал - горит м ы , не от каз ы в аяс ь от преим ущес т в с т рогой т ипиз ации. При э том з начит ел ь ная час т ь пров ерок и прив ед ений т ипа по-прежнем у произ в о- д ит с я не в ов рем я в ы пол нения, а на э т апе ком пил яции, чем д ос т игает с я бол ее бы с т рая работ а прил ожения. 4.5. В о п ро сы о п тимизац ии И с пол ь з ов анная нам и реал из ация нас л ед ов ания обес печив ает очень в ы с окую с корос т ь д инам ичес кого с в яз ы в ания. Дл я опред ел ения нужной под програм м ы т ребует с я из в л ечь из пам ят и в с его од ин указ а- т ел ь , причем егоад рес пол учает с я из ад рес а объект а д обав л ением с м е- щения, в ел ичина которогоиз в ес т на уже на э т апе ком пил яции. Как э точас тобы в ает, с тол ь бы с т ры й ал горит м прив од ит к з начи- т ел ь ном у перерас ход у пам ят и, в ы з в анном у хранением в кажд ом объект е 69
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »