Представлен (https://v8project.blogspot.ru/2017/08/v8-release-61.html) релиз открытого JavaScript-движка V8 6.1 (https://chromium.googlesource.com/v8/v8.git/+log/branch-head...), развиваемого при участии Google и используемого в браузерах на базе Chromium. Новая версия примечательна рядом заметных оптимизаций:- Производительность операций Maps и Sets при использовании итераторов или вызове через Map/Set.prototype.forEach возросла (http://benediktmeurer.de/2017/07/14/faster-collection-iterators/) до 11 раз, по сравнению с выпуском V8 6.0;
- Производительность метода Object.prototype.isPrototypeOf, позволяющего обойтись без применения конструкторов, теперь не уступает оператору "instanceof", а в некоторых ситуация обгоняет его.
- Обеспечено inline-развёртывание и оптимизация операций Array.prototype.forEach;
- Существенно возросла производительность вызова функций и конструкторов с переменным числом аргументов, например, Reflect.apply и Reflect.construct теперь выполняются до 17 раз быстрее;
- Сокращён размер поставки - удаление устаревшего компилятора Crankshaft и встроенного генератора позволило более чем на 700Кб уменьшить размер результирующего бинарного файла V8;
- Обеспечена валидация и компиляция кода asm.js в промежуточное представление WebAssembly. Дополнительная стадия проверки немного замедляет запуск, но зато производительность выполнения кода как правило выше.URL: https://v8project.blogspot.ru/2017/08/v8-release-61.html
Новость: http://www.opennet.me/opennews/art.shtml?num=46975
>Производительность операций Maps и Sets ... возросла до 11 раз
>Производительность метода Object.prototype.isPrototypeOf теперь не уступает оператору "instanceof", а в некоторых ситуация обгоняет его.
>Обеспечено inline-развёртывание и оптимизация операций
>Существенно возросла производительность вызова функций и конструкторов ... теперь ...17 раз быстрее;
>Сокращён размер - ...более чем на 700Кб ...
>...зато производительность выполнения кода как правило выше;Всё ускоряется и улучшается и даже уменьшается. А по факту ЯваСкрипт скрипты становятся всё тормознутей и больше. Такой вот ЯваСкрипт дуализм.
Потому что самый популярный бандлер в мире JS, не умеет удалять мёртвый код, благо это уже поправлено и теперь ES6-код будет вырезатьсяДа и такое не только с JS, в кривых руках и Qt Lite будет весить больше своего "полного" собрата, да ещё и жрать по 300мб при старте
> Потому что самый популярный бандлер в мире JSэто ещё что за птица?
Webpack, собирает кучу файлов в один
никакого дуализма. раньше кнопочки подсвечивали, да снежинки программировали. сейчас электроны и прочую дичь
> Всё ускоряется и улучшается и даже уменьшается. А по факту ЯваСкрипт скрипты
> становятся всё тормознутей и больше. Такой вот ЯваСкрипт дуализм.Очевидно же, что жабоскриптозники тормозят быстрее, чем ускоряются движки!
Ваш КОЭто первый слой.
На самом деле, громко вопя в каждой новости, что ЖС "почти как ассемблер, только для веба", не тормозит и вообще "почти догнал си", ЖСники просто отвлекают и усыпляют бдительность, готовясь к захвату мирового господства! Пока что человечество спасает отсутсвие единства среди почитателей жабьего скрипта и надобность особенно тщательно прорабатывать и постоянно, из-за происков враждебных группировок, корректировать планы по захвату природных месторождений бананов - гипер и супермаркетов.
Вас послушать, так сразу кажется, что это не ЖабаСкрипт, а весь такой из себя ГипноЖабаСкрипт.
История идёт по кругу.
Когда-то был замечательный Object Pascal. Потом для него сделали неплохую IDE — Delphi. Но тут набежали «кнопкокидатели-формоклепатели» и где сейчас эта Delphi? Нахфиг никому не нужна!
Мнится мне, что JS, со временем, настигнет такая же участь…
> Нахфиг никому не нужна!Да не, просто дорого стоит, поэтому те кому за почти бесплатно нужно формочку, начинают изобретать велосипеды, а как среда быстрой разработки так и находится впереди планеты всей :)
> просто дорого стоит,Есть же https://www.lazarus-ide.org/. Или имелось в виду нечто фигуральное вроде большой порог вхождения?
Балееен... Эту хрень собрать - кучу места и памяти надо. Пытался его скомпилить для одной проги, замучился. А прога оказалась пшиковая и еле работающая. Вот и нахрен завязывать все три строчки кода на жабоскрипте, если под него надо ещё и конкретный движок собирать? Почему жабоскрипт нельзя выполнять везде? Разве он не для этого появился? Напридумывали хрени всякой... Чем питоны, луа и пр. были хуже-то? Каждому же надо своё окружение (и замечу, не такое жирное как окружения для жабоскриптов)
Для нежирного JS, есть Duktape или JerryScript, собирается быстро, ест мало
Но программа требует именно V8, мне лень разбираться почему, но из-за таких ситуаций пропадает всякий смысл в жабокоде вообще. И с каждым днём таких программ становится больше. И я не могу объяснить разработчикам, что мне не надо в системе двадцать движков жабоскрипта вместо одного питона.
Ты тут про жабокод помянул, в я вспомнил, как это добрецо несовместимо между орацле ждк и опенждк, так что на каждом шагу есть повод понудеть
А, я имел в виду жабоскрипт. Да и вообще, всё что связано с жабами хорошо не кончается. Сначала были жабы, от них были бородавки, потом появился жабокод, от которого начался батхёрт, потому что он жирный и неповоротливый, который, вроде как, должен исполняться везде, но нифига не так, потом появился жабоскрипт и это вообще пиндец... от него и бородавки и батхёрт и разжижение мозга у разработчиков происходит. Они пишут приложухи с кутимордой, но исполнять их должен V8... Звездоподобное прошествие...
Хе-хе, минусяторы молча минусуют, значит правду говорю, значит попал палочкой в осиное гнездо...
> Хе-хе, минусяторы молча минусуют, значит правду говорю, значит попал палочкой в осиное
> гнездо...Не льстите себе. Вы никому с вашими заблуждениями не полезны и не нужны.
> Сначала были жабы, от них были бородавкиЭто миф.
>как это добрецо несовместимо между орацле ждк и опенждкКхм, вы прямо из анабиоза, да? Oracle JDK давно уже собирается из OpenJDK. Проприетарные куски вроде криптографии меняются на что-нить вроде Bouncy Castle.
очень небольшая несовместимость.
и то... просто некоторое расчитаное под оракл в очень редких местах и иногда лажают на опене.
Питонов кстати тоже несколько
> Питонов кстати тоже несколькоЯ бы сказал питонов столько же, сколько питон-погромистов.
> питон-погромистов.Не клевещи на честный гoвнoкoдeрoв.
Так ноду поставь, нафига компилять её?
В Duktape нету jit.
Поехавший.
> возросла до 11 раз
> до 17 раз быстрееЭто ж насколько похабно оно было написано!
Написано оно было отлично. А вот исследования по оптимизациям новых тенденций в JS продолжаются не прекращаясь и приносят свои плоды.
> Написано оно было отлично. А вот исследования по оптимизациям новых тенденций в
> JS продолжаются не прекращаясь и приносят свои плоды.Мы все так говорим, а значит это правда!
О чём по телевизору не рассказали, того не существует!
>>>> Написано оно было отлично. А вот исследования по оптимизациям новых тенденций в JS продолжаются не прекращаясь и приносят свои плоды.
> О чём по телевизору не рассказали, того не существует!О чем вам там по телевизору рассказывают, никому не интересно.
А вот когда причиной ускорения указывают "исследования по оптимизации", но при этом чисто случайно оказывается, что каких либо теоретических обоснований, исследований и прочих PhD на эту тему не делалось, то означает это ровно одно - переписали *овнокод.
Интересно, сколько ещё всё это можно будет оптимизировать. Вроде бы все возможности должны быть исчерпаны и производительности выйти на плато. Ан нет, всё ещё "до 17 раз быстрее"
> Интересно, сколько ещё всё это можно будет оптимизировать. Вроде бы все возможности
> должны быть исчерпаны и производительности выйти на плато. Ан нет, всё
> ещё "до 17 раз быстрее"Будут "оптимизировать" до тех пор, пока у оптимизаторов хватает ОЗУ, чтобы гонять бенчмарки.
Пишут движок, смотрят несколько лет как он ведет себя на реальных больших и малых проектах, и приходит понимание где требуются оптимизации. Пишут новый движок. И все повторяется раз за разом вслед за развитием собственно JS-проектов. Вышел React - смотрим что ему нужно для ускорения, дописываем движок. И сразу большинство сайтов на React работают быстрее. Выйдет новая популярная библиотека - будут затачивать под нее.
Потому что оптимизируется то, что было добавлено сравнительно недавно.Цикл примерно такой: становится распространённым какой-то подход к написанию кода (в силу объективных преимуществ или моды - не важно) - дописывается под него стандарт - оптимизируется то, что добавили. Это ж не си, где хоть в stdlib добавь, хоть в свою библиотеку - эффективность не изменится. Если уж сишные аналогии брать - это как добавление сисколлов или расширение существующих, и оптимизация того, что вышло.
Ура, теперь если ты рукожопишь сайтики, можно ещё меньше думать про ресурсы и чаще кричать что память же дешевле. Пойду вторую страницу открою, пока ОЗУ не кончилось и проц не закипел
> Ура, теперь если ты рукожопишь сайтики, можно ещё меньше думать про ресурсы
> и чаще кричать что память же дешевле. Пойду вторую страницу открою,
> пока ОЗУ не кончилось и проц не закипелДядь, ты чаво? Оно для сервера, и ресурсов не особо жрёт там, если не вылазит где-то баг, что редкость, или говнокод в либах да приложениях.
> ресурсов не особо жрёт там, если не вылазит где-то баг, что редкость, или говнокод в либах да приложениях...что далеко не редкость.
>> ресурсов не особо жрёт там, если не вылазит где-то баг, что редкость, или говнокод в либах да приложениях
> ...что далеко не редкость.…на любой программной платформе.
> …на любой программной платформе.Да нет, процент гoвнoкoда для разных платформ разный.
Они так много оптимизируют, что скоро жаваскрипт будет быстрее машинных кодов
OMG... они наконец-то сделали lookbehind и классы символов в регулярках... неужели этот трындец с автогенереными регулярками по 20 килобайт наконец-то закончится?/me смахнул скупую мужскую слезу
А скачать-то его в итоге где для обновления базы?