Цифровой журнал «Компьютерра» № 12
Шрифт:
К примеру, на прохождение теста Sunspider у Futhark в среднем уходит 5691 миллисекунд, тогда как Carakan справляется за 473 мс. Похожие результаты показывает и тест V8. Обратите внимание на то, что Sunspider измеряет время исполнения (то есть, чем меньше, тем лучше), а V8 отображает результаты в виде очков (чем больше результат, тем лучше).
Такая скорость ставит Carakan в один ряд с другими современными движками JavaScript. Он работает быстрее, чем интерпретатор Tracemonkey,
В Opera Software решили начать разработку Carakan осенью 2008 года — как раз тогда вышла первая версия Google Chrome. Не исключено, что именно впечатляющая скорость V8 подтолкнула авторов других браузеров к тому, чтобы поучаствовать в борьбе за ускорение JavaScript. Эта тенденция как нельзя более выгодна для авторов веб-приложений — ведь чем быстрее работает JavaScript, тем более сложные программы они могут создавать.
Об особенностях нового интерпретатора Javascript «Компьютерре-Онлайн» рассказал Йенс Линдстрём (Jens Lindstrцm), ведущий разработчик Carakan.
— Как шла разработка Carakan?
— Движок Carakan создан небольшой командой инженеров, которые до этого совместно разрабатывали различные компоненты браузера Opera, в том числе движок ECMAScript. Команда насчитывала от трёх до пяти разработчиков, которые работали над проектом всё время, и примерно столько же инженеров. У всех у них за плечами был огромный опыт создания JavaScript-движков, поэтому у нас не было необходимости привлекать кого-то извне.
— Как устроен JIT-компилятор Javascript, который разработали в Opera Software?
— JIT-компилятор ядра Carakan транслирует все ECMAScript-функции в машинный код. Однако не весь код, а только его пиковые точки — то есть самые часто вызываемые и долго исполняемые функции. Перед тем, как обнаружить эти пиковые точки и активировать JIT-компилятор, Carakan запускает скрипты в кроссплатформенном бинарном движке, а сам в это время анализирует запущенный код, чтобы JIT-компилятор смог собрать его оптимизированную версию.
— Чем Carakan отличается от V8 и Tracemonkey?
JIT-компилятор Tracemonkey в чём-то похож на Carakan: в том, что он генерирует машинный код для обнаруженных пиковых точек, и в том, что использует бинарный интерпретатор для сбора информации, необходимой для JIT. С другой стороны, в Tracemonkey используется совсем другой подход — как для определения тех участков кода, которые должны быть оптимизированы, так и для непосредственной оптимизации. Что касается движка V8, то я не очень хорошо с ним знаком, чтобы авторитетно говорить об отличиях и сходстве.
— Подходит ли Carakan для использования на мобильных устройствах?
— Пока JIT-компилятор поддерживает только процессоры x86, но изначально разрабатывался для портирования на процессоры других архитектур. Например, если генерируемый код независим от кода, созданного для фактически используемого процессора, то применяется распределитель регистров. Для этого нужно только знать основные характеристики, такие как количество доступных регистров.
— Тестировали ли его совместимость с существующими веб-приложениями?
— Да, разумеется. Команда, работающая над Carakan, включала нескольких опытных инженеров, которые работали не только над разработкой тестов на соответствие спецификациям ECMAScript, но и тестированием на совместимость со многими веб-приложениями, а также изучением возможных проблем, выявленных в ходе такого тестирования. Большинство тестов были сделаны с включённым JIT-компилятором. С тех пор это режим тестирования по умолчанию.
Своя игра
Кафедра Ваннаха: Купить корабль
Ваннах Михаил
Мышление людей в постиндустриальном обществе просто удивительно. Неважные результаты выступлений атлетов на олимпиаде раздуваются чуть ли не до размеров национального бедствия, вызывают суету властей, сладострастно смакуются оппозицией, хотя на жизнь страны никакого влияния не оказывают. Спортсмены из Марафона с донесениями давно не бегают, если служат — то в спортротах. Времена отечественной ОМСБОН, времена германского боксера Шмелинга, отобравшего первенство у американских негров и парашютировавшегося в 1941 году на Крит, давно прошли. Борьба идет за награды, то бишь, денежки — именно они назывались атлоном у эллинов, а те, кто их стяжает — атлетами, в противоположность бескорыстным спортсменам-аскетам…
А вот, к сожалению, действительно неважная, и затрагивающая каждого гражданина России новость — по данным доклада Стокгольмского международного института мира наша страна за минувшее пятилетие, 2005–2009 гг., опустилась на второе место в мире по экспорту вооружений, удерживая 24 % этого рынка. На первом месте — США, 30 %. В предыдущее же пятилетие 2001–2005 гг. наша доля составляла 31 %, а у янки были те же 30 %. И даже то, что объём рынка возрос на 22 % в стоимостных показателях, — а значит, в деньгах объёмы не упали — не может скрывать беспокойства. Ведь оружие — единственный высокотехнологический товар, который у нас конкурентоспособен. И больше, утратив тут конкурентоспособность, мы через какое-то время лишимся доходов от экспорта сырья… В чём же дело?
Удобнее всего посмотреть на это на примере вызывающей большой общественный интерес сделки — возможной покупки Россией французских вертолетоносцев класса Mistral. Хотя всякие мелочи, типа тепловизоров, раций и микроболометрических матриц для нужд наших Вооруженных Сил закупаются, покупка боевого корабля производит шоковое впечатление. Ведь сама же Россия дорабатывает для Индии авианосец проекта 1143.4, бывший «Адмирал Горшков». Это — машина стандартным водоизмещением 44720 тонн, солидным оборонительным вооружением, способная нести не только вертолеты, но и истребители-бомбардировщики МиГ-29К. Ну а Mistral — десантный корабль-док. Стандартное водоизмещение — 16500 тонн. Оборонительное вооружение не заслуживает доброго слова, его наверняка придется менять на отечественные Кортики или нечто подобное. Возможность работы в далёких морях, спуская вдали от берега из затапливаемой цистерны десантные катера, для нас в ближайшее время не очень важна — дай Бог своё удержать в руках. Почему же этот корабль так актуален для нашего флота?