В начало!  
Сделай закладку этой страницы в Digg Сделай закладку этой страницы в Del.icoi.us Сделай закладку этой страницы в Slashdot Сделай закладку этой страницы в Technorati



Что нового в Sun Studio 12
Автор Кульдип Оберой   
18.08.2007 г.

Кульдип Оберой, руководитель линии продуктов в отделе инструментов для разработчиков в Sun Microsystems, рассказывает о выпуске Sun Studio 12. Интервью взято в мае 2007 года, перед официальным объявлением выпуска.

Вопросы и ответы по готовящемуся к выпуску релизу Sun Studio 12

В: Что такое Sun Studio 12?

О: Пакет Sun Studio, ранее известный как Forte Developer и Sun Workshop, - бесплатно распространяемый интегрированный пакет средств разработки для платформ операционной системы Solaris и Linux. В число его компонентов входят:

  • Оптимизирующие компиляторы для C, C++ и Фортрана с возможностью автоматической параллелизации
  • Отладчик уровня исходного кода
  • Отладчик для памяти
  • Анализатор производительности
  • Поддержка OpenMP компиляторами и отладчиком
  • Интегрированная среда разработки (IDE)
  • Оптимизированные библиотеки
  • Анализатор потоков

Предварительная версия готовящегося выпуска доступна как Sun Studio Express. Кроме того, на базе Sun Studio Express сейчас проводится программа тестирования Sun Studio 12 Early Access.

 

В: Для разработчиков програмного обеспечения существенным моментом является совместимость. Как обстоят дела у Sun Studio в этом отношении?

О: Совместимость имеется на разных уровнях -- уровнях исходных кодов, двоичных кодов и приложений. В Sun Studio мы учитываем все эти уровни. Совместимость на уровне кодов означает, что если приложение успешно собирается и работает на архитектуре SPARC или x86, то для его запуска на другой архитектуре потребуются минимальные усилия.

Что касается совместимости на уровне интерфейса ABI C++, различия в реализации компиляторов, даже между последовательными версиями одного и того же компилятора, заставляли разработчиков, пишущих на C++, либо испытывать неудобства, пользуясь старой версией компилятора, совместимой с их библиотеками, либо перерабатывать и перекомпилировать все свои двоичные коды. В Sun Studio помимо того, что интерфейс ABI C++ остается стабильным на протяжении нескольких релизов, еще и последняя версия компилятора позволяет подключать объекты и библиотеки, созданные с помощью предыдущих версий. Разработчики могут использовать преимущества новой версии в производительности и других характеристиках, при этом сохранив уже имеющееся программное обеспечение.

И наконец, если приложение работало на платформе Solaris, оно будет работать и в будущем. В некоторых других операционных системах у разработчиков возникают серьезные проблемы при попытках портирования их приложений для новых выпусков ОС. Благодаря большим усилиям Сан по достижению совместимости приложений программы, написанные 10 лет назад для Solaris 2.6, работают в неизменном виде под ОС Solaris 10 сегодня.

Фактически, программа Solaris Application Guarantee, гарантирующая совместимость приложений, охватывает как исходные, так и двоичные коды. Это отражает приверженность компании к обеспечению переносимости приложений от релиза к релизу, что позволяет сберечь результаты предыдущей работы.

 

В: Давайте сменим тему и обсудим существенные изменения в системах, происходящие по мере того, как становятся популярными многоядерные архитектуры. Влияют ли компиляторы и инструменты разработки на разработку приложений для такого рода систем?

О:Одна из наиболее важных тенденций, влияющих на разработчиков, пишущих на C, C++ и Фортране, -- это параллелизм, предлагаемый многоядерными архитектурами. В результате появления процессора UltraSPARC T1 и построенных на его основе систем Sun Fire T1000 и Sun Fire T2000  многоядерные архитектуры вышли на магистральную линию развития корпоративных вычислительных средств. При наличии такого рода систем, обладающих несомненными преимуществами в производительности, разработчикам необходимо обеспечить параллелизм в приложениях, чтобы воспользоваться этими преимуществами новых систем в полной мере.

Во многих средах, например в веб-серверах или серверах приложений, сейчас обеспечивается многоядерность или многопоточность. Для разработчиков, пишущих на C, C++ и Фортране, вдвойне важно использовать как технологию компиляции, которая позволяет воспользоваться преимуществами этих архитектур, так и инструментами и библиотеками, облегчающими разработку многопоточных приложений. В состав пакета Sun Studio входят компиляторы с возможностью автоматической параллелизации, поддержкой OpenMP, профилированием потоков, а в самых новых версиях -- и с анализом потоков. Используя эти возможности анализа потоков, разработчики могут быстро определить обычные ошибки в многопоточном программировании, в том числе конкуренцию данных и взаимные блокировки. Другими словами, создавать высокопроизводительные многопоточные приложения за меньшее время.

 

В: Мы много говорили о платформе Solaris. Поддерживает ли Sun Studio другие платформы?

О:Да! В трех последних релтзах Sun Stidio полная поддержка Linux обеспечивалась средой IDE и инструментами разработки, но не компиляторами, а начиная с Sun Studio Express полностью поддерживается платформа Linux, имея в своем составе те же оптимизирующие компиляторы, что и для платформы Solaris. Разработчики для Linux получат доступ не только к улучшенной производительности приложений, но и к полному комплекту инструментов разработки и библиотек. Это особенно важно для специалистов, разрабатывающих программы как для Linux, так и для ОС Solaris. Используя ту же самую среду, пользователи могут улучшать производительность приложений и упрощать разработку на обеих платформах одновременно.

 

В: В продолжение разговора о производительности: используют ли по-прежнему программисты, пишущие на C, C++ и Фортране, в качестве текстовых редакторов vi и emacs?

О: Хотя упомянутые среды очень эффективны и легко настраиваются, мы видим, что многие разработчики уже привыкли к производительной IDE Среда разработки Sun Studio 12 в других средах и нуждаются в аналогичной функциональности для разработки программ на C, C++ и Фортране на платформах Linux и Solaris. Чтобы удовлетворить это требование, в Sun разработана IDE следующего поколения на основе NetBeans 5.5.1, которую можно использовать уже сегодня по программе Sun Studio Express.

 

В: Многие разработчики используют коллекцию компиляторов GNU (GCC). Интересен ли будет им пакет Sun Studio?

О: Конечно! Есть несколько причин, по которым разработчики, сегодня использующие GCC, могут быть заинтересованы в Sun Studio. Оптимизирующие компиляторы позволяют создать исполнимые модули приложений, работающие быстрее в среднем на 10-50% на платформах x86 и на 40-300% на системах на основе процессоров SPARC. Дополнительные сведения приведены на нашей странице с результатами тестирования производительности. Разработчикам, пишущим на C++, совместимость на уровне интерфейса ABI облегчает переход на более свежую версию компилятора, позволяя больше времени проводить за творческой работой и меньше -- в ожидании результатов перекомпиляции. Кроме того, поставщики приложений могут статически подключать библиотеку C++, что позволяет избежать дополнительного пакетирования и разрешения зависимостей, с чем могут столкнуться многие программисты, особенно на Linux.

 

 

В: А что будет, если кто-нибудь не сможет сменить компилятор в разгар работы над проектом?

О: Одно из наиболее приятных свойств Sun Studio состоит в том, что этот пакет легко интегрируется. Можно продолжать использовать GCC и при этом пользоваться имеющимися инструментами Sun Studio. Например, в отличие от других широко распространенных отладчиков, отладчик dbx Отладка в среде разработки Sun Studio в пакете Sun Studio работает с двоичными кодами, созданными как GCC, так и Sun Studio, и легко программируется на языке сценариев с помощью простого в использовании графического интерфейса пользователя.

Бывают ли в ваших программах утечки памяти? Отладчик для памяти пакета Sun Studio, известный как RTC (проверка во время исполнения), определяет использование памяти, ее выделение и утечки для двоичных кодов, созданных как GCC, так и Sun Studio.

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

 

В: Как Вы считаете, что является самыми большими заблуждениями у пользователей GCC относительно Sun Studio?

О: В прошлом пакет Sun Studio стоил тысячи долларов, что не позволяло ряду пользователей использовать наши компиляторы, но теперь цена не является проблемой, так как уже в течение нескольких лет этот пакет распространяется бесплатно без ограничений. Кроме того, обработка кода, основанного на GCC, компиляторами Sun Studio непрерывно улучшается. Внедрение пакета Sun Studio может оказаться проще, чем это можно было бы ожидать.

 

 

В: Будут ли разработчики, работающие на платформе Java, заинтересованы в инструментах Sun Studio?

О: Конечно! Пакет Sun Studio позволяет разработчикам, пишущим на Java, отлаживать код Java, включая код интерфейса Java для машинного кода (JNI), а также выполнять системное профилирование их приложений Java. Отладчик (dbx) во многих аспектах работает с кодом Java так же, как он работает с кодами на C, C++ и Фортране. При отладке приложений, основанных на JNI, разработчики могут переходить из кода Java в машинный код и возвращаться в код Java для отслеживания трудных для поиска проблем с JNI.

Кроме того, анализатор производительности из состава Sun Studio способен собирать данные как из системы, так и непосредственно из виртуальной машины (VM) Java. При анализе можно не только найти места в приложении, где происходят затраты времени, но и получить наглядное отображение, что позволяет быстро определить функцию или строку кода, нуждающуюся в улучшении.

 

В: Это замечательно! Где можно получить дополнительные сведения?

О: Посетите веб-сайт Sun Studio в Сети разработчиков Sun (SDN). На нем есть много руководств, технических статей, форумов сообщества и материалов для загрузки.

 

Перевод с английского: Антон Высоцкий, 2007 г.

 

Добавить комментарий


Защитный код
Обновить