LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

Так это перевод первой статьи.

Неправда, они отличаются. Но не суть. Ты и ту статью плохо прочитал.

It compiles JavaScript code into machine code at execution by implementing a JIT (Just-In-Time) compiler like a lot of modern JavaScript engines such as SpiderMonkey or Rhino (Mozilla) are doing. The main difference with V8 is that it doesn’t produce bytecode or any intermediate code.

Хотя меня озадачивает статья https://habr.com/company/ruvds/blog/336294/ , в которой описан якобы байт-код. Однако вот что написано в документации:

https://github.com/v8/v8/wiki/Design-Elements#dynamic-machine-code-generation

Как бы то ни было. В SBCL (и многих других лиспах) есть И интерпретатор, И компилятор в маш код. Можешь по своему выбору использовать то или другое. Так что неважно, как сделано в v8 - компилятор в машкод там есть, что бы ты про это не думал.

Для чего им интерпретатор - не знаю, но области применения у него в принципе есть.

Судя по всему, https://tproger.ru/news/google-tool-reduces-js-size/, они заменили интерпретатором свой первый (быстрый, но глупый) компилятор, с целью сокращения объёма кода.

То есть в итоге ты отчасти прав, разница лишь в том, как ты воспринимаешь JIT. Я на самом деле не знаю, как устроен там JIT, я надеялся, что там нормальный компилятор, как в CL. Думаю, это так и есть, но дальше в это пока не буду лезть, т.к. интерес отпал.

CL, вроде, вообще интерпретировался в код на си полностью

Вообще говоря, нет, и плюс к тому вместо «интерпретировался» надо было поставить какое-нибудь другое слово, например, транспилировался - так вообще безграмотная фраза у тебя получалась.

Исправление den73, :

Так это перевод первой статьи.

Неправда, они отличаются. Но не суть. Ты и ту статью плохо прочитал.

It compiles JavaScript code into machine code at execution by implementing a JIT (Just-In-Time) compiler like a lot of modern JavaScript engines such as SpiderMonkey or Rhino (Mozilla) are doing. The main difference with V8 is that it doesn’t produce bytecode or any intermediate code.

Хотя меня озадачивает статья https://habr.com/company/ruvds/blog/336294/ , в которой описан якобы байт-код. Однако вот что написано в документации:

https://github.com/v8/v8/wiki/Design-Elements#dynamic-machine-code-generation

Как бы то ни было. В SBCL (и многих других лиспах) есть И интерпретатор, И компилятор в маш код. Можешь по своему выбору использовать то или другое. Так что неважно, как сделано в v8 - компилятор в машкод там есть, что бы ты про это не думал.

Для чего им интерпретатор - не знаю, но области применения у него в принципе есть.

Судя по всему, https://tproger.ru/news/google-tool-reduces-js-size/, они заменили интерпретатором свой первый (быстрый, но глупый) компилятор, с целью сокращения объёма кода.

То есть в итоге ты отчасти прав, разница лишь в том, как ты воспринимаешь JIT. Я на самом деле не знаю, как устроен там JIT, я надеялся, что там нормальный компилятор, как в CL. Думаю, это так и есть, но дальше в это пока не буду лезть, т.к. интерес отпал.

CL, вроде, вообще интерпретировался в код на си полностью

Вообще говоря, нет, хотя вместо интерпретировался надо было поставить какое-нибудь другое слово - так вообще безграмотная фраза у тебя получалась.

Исходная версия den73, :

Так это перевод первой статьи.

Неправда, они отличаются. Но не суть. Ты и ту статью плохо прочитал.

It compiles JavaScript code into machine code at execution by implementing a JIT (Just-In-Time) compiler like a lot of modern JavaScript engines such as SpiderMonkey or Rhino (Mozilla) are doing. The main difference with V8 is that it doesn’t produce bytecode or any intermediate code.

Хотя меня озадачивает статья https://habr.com/company/ruvds/blog/336294/ , в которой описан якобы байт-код. Однако вот что написано в документации:

https://github.com/v8/v8/wiki/Design-Elements#dynamic-machine-code-generation

Как бы то ни было. В SBCL (и многих других лиспах) есть И интерпретатор, И компилятор в маш код. Можешь по своему выбору использовать то или другое. Так что неважно, как сделано в v8 - компилятор в машкод там есть, что бы ты про это не думал.

Для чего им интерпретатор - не знаю, но области применения у него в принципе есть.

Судя по всему, https://tproger.ru/news/google-tool-reduces-js-size/, они заменили интерпретатором свой первый (быстрый, но глупый) компилятор, с целью сокращения объёма кода.

То есть в итоге ты отчасти прав, разница лишь в том, как ты воспринимаешь JIT. Я на самом деле не знаю, как устроен там JIT, я надеялся, что там нормальный компилятор, как в CL. Думаю, это так и есть, но дальше в это пока не буду лезть, т.к. интерес отпал.

CL, вроде, вообще интерпретировался в код на си полностью

Вообще говоря, нет, хотя вместо интерпретировался надо было поставить какое-нибудь другое слово - так вообще безграмотная фраза у тебя получалась.