Компилирайте JavaScript в собствен код с V8

Наистина ли е възможно с V8 Engine на Google да компилирам JavaScript в Native Code, да го запазя като двоичен файл и да го изпълня, когато пожелая чрез моята софтуерна среда, на която и да е машина?


person Alon Gubkin    schedule 02.06.2010    source източник
comment
stackoverflow.com/questions/1152367/   -  person Iggy Kay    schedule 03.06.2010


Отговори (3)


Можете да използвате функцията моментна снимка на V8 за предварително компилиране на кода. Това все още означава, че трябва да имате работеща пълна версия на V8, за да заредите моментната снимка (т.е. не получавате самостоятелен собствен код, той трябва да се изпълнява във V8 VM), така че всичко, което спестявате, е времето за компилация . Освен това качеството на кода за моментна снимка не е непременно толкова добро, колкото JIT кода, тъй като JIT кодът може да използва, например SSE2/SSE3, ако е наличен, което моментните снимки не могат да приемат.

person Lasse Reichstein    schedule 22.06.2010

Доколкото знам, V8 е чисто точно навреме компилатор и няма опция за предварително.

Както беше обсъдено в статиите, които свързах, JIT позволяват по-добри, по-гъвкави оптимизации.

person Matthew Flaschen    schedule 02.06.2010
comment
НО JIT трябва да завърши задачата своевременно. Следователно те трябва да избягват скъпи (време и ресурси като памет) операции. - person Christian; 18.12.2012

Вместо това може да е възможно да се използва компилатор на .NET JavaScript/JScript за създаване на .NET exe, след което да се преобразува .NET exe в собствен .exe с помощта на Моно изпреварващ компилатор.

person Jack Nock    schedule 03.06.2010
comment
Само като бележка за всеки, който все още не е пробвал Mono AOT и беше супер развълнуван като мен: не поддържа Windows. Въпреки това работи на всеки Linux, така че кой знае, може би това ще се промени. - person Camilo Martin; 14.01.2013