LINUX.ORG.RU

Фабрис Белар выложил движок JavaScript

 


7

6

Французский математик Фабрис Белар (Fabrice Bellard), более известный работой над ffmpeg, qemu, tcc и вычислением числа Пи, выложил в открытый доступ QuickJS — компактную реализацию JavaScript в виде библиотеки на языке C.

  • Почти полностью поддерживает спецификацию ES2019.
  • В том числе математические расширения.
  • Проходит все тесты ECMAScript Test Suite.
  • Нет зависимостей от других библиотек.
  • Малый размер статически линкуемой библиотеки — от 190 KiB на x86 для «hello world».
  • Быстрый интерпретатор — проходит 56000 тестов ECMAScript Test Suite за ~100 с на 1 ядре настольного ПК. Накладные расходы на цикл запуска и остановки < 300 мкс.
  • Может компилировать исходные файлы на JavaScript в исполняемые файлы без внешних зависимостей.
  • Может компилировать исходные файлы на JavaScript в WebAssembly.
  • Сборщик мусора со счётчиком ссылок (детерминированный, с малым потреблением памяти).
  • Интерпретатор командной строки с цветной подсветкой синтаксиса.

Согласно тестам производительности из обсуждения на Opennet.ru, скорость QuickJS в тестах в 15-40 раз меньше, чем у Node.js.

>>> Сайт автора

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Virtuos86 (всего исправлений: 1)

Ответ на: комментарий от Deleted

Кхм, что ж, не судьба.

navit/graphics/qt_qpainter/CMakeFiles/graphics_qt_qpainter.dir/build.make:67: 
ошибка выполнения рецепта для цели «navit/graphics/qt_qpainter/CMakeFiles/graphics_qt_qpainter.dir/RenderArea.cpp.o»

Deleted
()
Ответ на: комментарий от WitcherGeralt

Дык замены онлайн картам нету, зря люди выше требуют совместимость выкинуть и написать свой крутой стандарт...

Deleted
()
Ответ на: комментарий от Deleted

По меньшей мере половину полезных web-приложений можно и на php написать, а юзер будет видеть только чистый html и давить на кнопку субмит.

rechnick ★★★
()
Ответ на: комментарий от rechnick

Предлагаю анонимам написать такие приложения, и пользователи перейдут на них, они же лучше.

Deleted
()
Ответ на: комментарий от anonymous

Дык не хочешь и не заходи в тяжелые приложения. Люди ж пишут веб нинужон, значит я могу тоже что то такое писать, не?

Deleted
()
Ответ на: комментарий от Deleted

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

rechnick ★★★
()
Ответ на: комментарий от kirill_rrr

Это тесты на соответствие стандарту ECMAScript. Последний не имеет никакого отношения к вебу. Он определяет правила, которым должна соответствовать реализация JavaScript что бы она могла быть отнесена к эталонной реализации языка. Где и как эта реализация будет применяться, в компетенцию данного стандарта не входит.

Serbis
()
Ответ на: комментарий от rechnick

Ты предложил только воображаемые альтернативы. Логичность которых понятна только тебе :)

Vit ★★★★★
()
Ответ на: комментарий от Deleted

Карты, кстати, тоже можно вообще без js сделать. Просто, вместо скролла и движений мышью придётся сделать кнопки: туда-обратно-вертеть и т.п.

rechnick ★★★
()
Ответ на: комментарий от Vit

Логичность в том, что даже древний комп с древним браузером будет спокойно работать с web-приложением. Чего тут непонятного?

rechnick ★★★
()
Ответ на: комментарий от kirill_rrr

И апи движков вообще не стандартизуется нигде и никак. Каждый имеет свой уникальный набор, V8 имеет свой апи, SpiderMonkey свой, Nashorn на Java свой, а QuickJS будет иметь свой.

Serbis
()
Ответ на: комментарий от rechnick

Веб аппликуха без жс? Как там в 90х живётся?

anonymous
()
Ответ на: комментарий от rechnick

Мне IronBug рассказывала про карты в ascii-арте, сюрприз?

Deleted
()
Ответ на: комментарий от Legioner

Мне интересно, почему «разработчики» требуют самый свежий браузер? К счастью не все. Таких «элитных» пока ещё меньшинство.

rechnick ★★★
()
Ответ на: комментарий от kirill_rrr

Веб - это апи, которое можно подергать, оно к самому языку (движку) не относится.

если это какие то системные скрипты, то зачем писать их на js?

Это фопрос филосовский. Затем же, зачем писать на любом другом скриптовом языке - можно быстро сляпать логику, не надо пересобирать. Очень зависит от задач.

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

Vit ★★★★★
()
Ответ на: комментарий от rechnick

Это исключительно твоя логичность. Найди разработчиков, которых будут волновать твои проблемы и попробуй их заинтересовать :)

Vit ★★★★★
()

Пацаны и пацанессы, короче важный вопрос по поводу комаров, квантовой телепортации и параллельных миров.

Короче, вы наверное замечали, что когда хочешь прибить комара, происходит очень странная хня:

Вот он сидит где-то. Ты его видишь и подносишь руку поближе чтобы прибить. Комар замечает это и взлетает. Пока всё нормально. Ты его видишь как он взлетел. Но потом происходит странная хня:

Комар пролетает сантиметров 4-5, а потом, ёпта, он исчезает.!!!111 Реально. Много раз проверено. Исчезает. Куда, как? Потом моментально появляется в совсем другом конце комнаты, если поискать. Но как? Невозможно ведь развить такую скорость так мгновенно.

Это напоминает игру «Parkan. Хроники Империи». Там было устройство «джамер» которое работало подобным образом. Короче, как им это удаётся?

У нас тут серьезный технический ресурс, так что вопрос технический. Кротовые норы в параллельный пласт реальности или параллельноге время? Или....?

anonymous
()
Ответ на: комментарий от Vit

А разработчику не всё равно? Проблема-то не только моя. Ты заходишь на сайт и js сразу начинает жрать электричество. У меня старый ноут, на нём сразу вентилятор начинает усиленно гудеть, если на сайте активно используются js-плюшки. Получается, что ради незначительных плюшек ты жертвуешь энергоэффективностью.

rechnick ★★★
()
Ответ на: комментарий от anonymous

Они очень быстро летают. А ещё они не бесшумные и не пищат. Чёртовы твари. Рекомендую фумигатор в помещении и какой-нибудь спрей на природе. От мошек (куда более актуально) вроде ваниль помогает.

anonymous
()

Использование JS как и любого другого ЯП на стороне клиента в браузере категорически не допустимо!

anonymous
()
Ответ на: комментарий от rechnick

А разработчику не всё равно?

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

Это я тебе как разработчик говорю :)

Потребление электричества полагаю связано с прямизной рук а не с языком, как и везде.

Vit ★★★★★
()
Ответ на: комментарий от Vit

Кто тебе не даёт разрабатывать быстро и с комфортом, на стороне сервера, а не на стороне клиента. Зачем мне нужны в моём браузере твои говно-скрипты

anonymous
()
Ответ на: комментарий от anonymous

ну это очевидно что мощности у сервера не бесконечные, они бесконечные только у юзверя

anonymous
()
Ответ на: комментарий от anonymous

Ещё не известно, что даёт бóльшую нагрузку на сервер. Предположим, ты случайно крутанул колёсико или ткнул пальцем – это ведь всё улетает на сервер.

rechnick ★★★
()
Ответ на: комментарий от rechnick

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

Vit ★★★★★
()
Ответ на: комментарий от rechnick

Делай так чтобы не улетало :). Это от рук зависит, а не от языка.

https://github.com/littlevgl/lv_font_conv - вот один из последних скриптов, который делал. CLI-шная тулза, которая битмапные фонты для эмбедов лепит. Специально переспрашивал разработчиков - нормально ли, что не на С. Сказали - что если сделаю быстро и с инсталлятором проблем нет, то результат им важнее. Потом легким движением руки эту штуку на вебсайт выложили, и сервер там вообще не нужен. Для гитхабовских gh-pages кстати очень удобная тема.

Vit ★★★★★
()
Ответ на: комментарий от Deleted

Звучит великолепно, но боюсь уже поздно — говоноедов развелось немеряно.

anonymous
()

Им можно скомпилировать Heroku CLI? За****о ждать две секунды на любую команду включая --help.

Gentooshnik ★★★★★
()
Ответ на: комментарий от Deleted

ошибка выполнения рецепта

Это Вам к тэрапэвту.

anonymous
()
Ответ на: комментарий от WitcherGeralt

Ты немного не понял, что подразумевают под встраиванием.

А, речь про скриптование игрушек и т.п... Что-то мне подсказывает, что и здесь статически-типизированный язык с GC (хотя бы что-то вроде ActionScript 3, светлая ему память; UPD: хотя в нём типы опциональны, низачот) был бы лучше полной динамики.

dimgel ★★★★★
()
Последнее исправление: dimgel (всего исправлений: 1)
Ответ на: комментарий от question4

Чё за бред ты пишешь? Ты встраивал v8? Ты компилировал этот quickJS? Статическая либа этого поделия 5 Мб весит в скомпилированном виде. Не так уж мало. V8 статическая около 25 Мб. Откуда сотни мегабайт? У этого чела весь код основной запихан/склеин каким-то шаблонизатором в один большой Си файл, в котором тоже чёрт ногу сломит, размером в 100 страниц A4. А по поводу тестов vs v8 - тоже гон местами, на многих тестах v8 быстрее более чем в 10.000 раз. Ты представить себе такое можешь? Так что этот движок не конкурент v8/spider money/JavaScriptCore от Webkit, он конкурент duktape!

menangen ★★★★★
()
Последнее исправление: menangen (всего исправлений: 1)
Ответ на: комментарий от rechnick

Чувак, не будь наивным, это не js жрёт, а движок джаваскрипта. В нём jit компиллер, он преобразует JavaScript в нативные инструкции твоего проца, чтобы сайт летал. Альтернатива - это чтобы твой полудохлый ноут не жужжал и не грелся, но и сайты будут тупые и тормозные, как народ.ру, помнишь такой? Там всякие школьники выкладывали свои html странички со ссылками на mp3, больше такие сайты, как и их создатели, ничего не умеют. Тупо html и ссылки. Но не все такие тупые.

menangen ★★★★★
()
Последнее исправление: menangen (всего исправлений: 1)
Ответ на: комментарий от menangen

Тупо html и ссылки. Но не все такие тупые.

Ничто не мешает сделать кнопки, чекбоксы, текстфилды, радиобатоны и не быть тупым. JS для всего этого необязателен. Разумеется, интерактивность снизится. Для некоторых вэб-приложений это смертельно, но далеко не для всех.

rechnick ★★★
()
Ответ на: комментарий от menangen

Почему у меня тогда средняя вкладка на среднем новостном сайте со скриптами пару гигабайт? Одно время хром активно боролся с блокировщиками рекламы, так там и 10 гигабайт тупо на вкладку с фоточками как нехрен делать улетало. С тех пор и пошло.

anonymous
()
Ответ на: комментарий от Deleted

Не для XP

Ждём браузера

Так ты представь как на этом гугл карты будут тормозить и gmail.

Ну и вообще есть palemoon.

Windows 7/8/10/Server 2008 R2 or later
A processor with SSE2 instruction support
1 GB of RAM
At least 200 MB of free (uncompressed) disk space

jia ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.