Presto (движок браузера)


Presto был браузерным движком веб- браузера Opera с момента выпуска Opera 7 28 января 2003 г. до выпуска Opera 15 2 июля 2013 г., когда Opera перешла на использование движка Blink , который изначально был создан для Chromium . [3] Presto также использовался для поддержки браузеров Opera Mini и Opera Mobile .

Presto — динамичный двигатель. Веб-страницы могут полностью или частично перерисовываться в ответ на события DOM . В его выпусках было исправлено множество ошибок и проведена оптимизация для повышения скорости движка ECMAScript ( JavaScript ). Он проприетарный и доступен только в составе браузеров Opera.

В Opera использовался ряд движков ECMAScript. (Чтобы узнать о происхождении их имен, см. Культурные заметки ниже). Версии Opera до Presto использовали движок Linear A. Версии Opera, основанные на форке Core Presto, Opera с 7.0 по 9.27, использовали движок Linear B. [4] Движок Futhark используется в некоторых версиях форка Presto Core 2, а именно от Opera 9.5 до Opera 10.10. [5] На момент выпуска это был самый быстрый движок, но в 2008 году появилось новое поколение движков ECMAScript от Google ( V8 ), Mozilla ( SpiderMonkey ) и Apple ( JavaScriptCore ).) сделал еще один шаг, представив собственную генерацию кода. Это открыло возможности для потенциально тяжелых вычислений на стороне клиента, и Футарк, хотя и оставался быстрым и эффективным, не мог за ним угнаться.

В начале 2009 года Opera представила движок Carakan. Он отличался байт -кодом на основе регистров , генерацией собственного кода, автоматической классификацией объектов и общими улучшениями производительности. [6] [7] Ранний доступ к пре-альфа-версии Opera 10.50 показал, что она так же быстра, как и самые быстрые конкуренты, став победителем в 2-х из 3-х наиболее часто используемых бенчмарков . [8]

Исходный код версии 12.15 просочился на GitHub 11 февраля 2016 г. [26] Он оставался незамеченным до 12 января 2017 г. и был удален через два дня в ответ на запрос DMCA . [27] [28] Opera Software подтвердила подлинность исходного кода. [29]

Механизмы ECMAScript, используемые с Opera, были названы в честь древних и традиционных письменностей, в том числе древнегреческого линейного письма A и линейного письма B , рунического футарка и яванского каракана .