Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Сравнение компиляции и интерпретации




Каждый способ имеет свои достоинства, которые являются недостатками других способов. Сравнение носит качественный характер, поскольку всё очень сильно зависит от разработчиков языка программирования.

Наиболее важной характеристикой является скорость выполнения программы. В случае компиляции программа переведена в машинный код и выполняется настолько быстро, насколько это возможно. При интерпретации программа выполняется значительней медленно, поскольку интерпретатор вносит дополнительные задержки во время вычислений. Как правило, откомпилируемые программы выполняются в 10-100 раз быстрее чем интерпретируемые.

Иногда скорость работы программы не имеет значения. Программа может получать результат и за 1 миллисекунду при компиляции и 1 секунду при интерпретации. Для пользователя этого несущественно. И, как правило, программа простаивает на вводе данных больше, чем тратит времени на получение результата.

Второй важной характеристикой является потребление ресурсов, а именно памяти и центрального процессора. В случае компиляции программа потребляет минимальное количество памяти и времени центрального процесса, поскольку выполнен этап оптимизации. При интерпретации потребляется большее число ресурсов, т.к. самому интерпретатору также нужно место в памяти (точно также как и для таблицы символов при разборе программы) и время работы центрального процессора.

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

Не менее важной характеристикой является скорость разработки. Можно написать за 1 час программу, которая будет выполняться 1 секунду, а можно за 5 минут написать программу, которая будет выполняться 3 минуты. В первом случае на получение первого результата потребуется 1 час и 1 секунда времени. Во втором – 8 минут.

Интерпретируемые языки более удобны для разработки, поскольку обладают рядом уникальных особенностей. Например, во время выполнения программы можно менять её структуру и продолжить выполнение с новым кодом. В случае компиляции это невозможно, поскольку программа переведена в машинный код, который непосредственно выполняется. В качестве другого примера можно привести лёгкость реализации операций отладки (поиска ошибок) на уровне исходного кода программы, поскольку все сообщения об ошибках, возникающих в процессе выполнения, могут ссылаться на модули исходной программы

Характеристика Компиляция Смешанная реализация Интерпретация
Скорость выполнения Быстро Средне Медленно
Потребление ресурсов Мало Средне Много
Переносимость Отсутствует Хорошая Хорошая
Скорость разработки Средняя Средняя Быстрая

Подводя итог можно сказать, что каждый способ хорош по-своему, и пользователь выбирает наиболее подходящий. На практике очень часто встречается, что прототип системы разрабатывается на интерпретируемых языках (важна скорость разработки, проверка идей, структуры приложения), а сама система на компилируемом языке (важны скорость и потребление ресурсов).




Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 678; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.