ГИБРИДНЫЙ КОМПИЛЯТОР ДЛЯ ДИНАМИЧЕСКОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ JAVASCRIPT

  • Рубен Борисович Айрапетян Исследовательский Центр Самсунг
  • Евгений Александрович Гаврин Московский государственный университет имени М.В. Ломоносова
  • Андрей Николаевич Шитов Московский государственный университет имени М.В. Ломоносова

Аннотация

Статья посвящена созданию прототипа новой виртуальной машины языка JavaScript. Работа основана на платформе Tizen, которая использует HTML5 и JavaScript для разработки приложений. Производительность и потребление памяти JavaScript-программ на существующих машинах хуже по сравнению с С++ или С# приложениями. В нашей работе мы попытались уменьшить разрыв по производительности между JavaScript и другими языками.

Сведения об авторах

Рубен Борисович Айрапетян, Исследовательский Центр Самсунг

ведущий инженер-программист отдела компиляции

Евгений Александрович Гаврин, Московский государственный университет имени М.В. Ломоносова

аспирант факультета вычислительной математики и кибернетики, руководитель отдела компиляции компании Исследовательский Центр Самсунг

Андрей Николаевич Шитов, Московский государственный университет имени М.В. Ломоносова

аспирант факультета вычислительной математики и кибернетики, ведущий инженер-программист отдела компиляции компании Исследовательский Центр Самсунг

Литература

1. Chrome V8. https://developers.google.com/v8
2. JavaScriptCore. https://developer.apple.com/reference/javascriptcore
3. SpiderMonkey. https://developer.mozilla.org/ru/docs/SpiderMonkey
4. WebKit / LongSpider, 2016. https://github.com/WebKit/webkit/tree/master/PerformanceTests/LongSpider
5. WebKit. SunSpider JavaScript Benchmark, 2017. https://webkit.org/perf/sunspider/sunspider.html
6. Gavrin, E., Lee, S. J., Ayrapetyan, R., & Shitov, A. (2015, October). Ultra-lightweight JavaScript engine for internet of things. In Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity (pp. 19-20). ACM
7. “Value representation in JavaScript implementations”, https://wingolog.org/archives/2011/05/18/value-representation-in-javascript-implementations
8. Design elements of V8 https://developers.google.com/v8/design
9. Adaptive Optimization for SELF: Reconciling High Performance with Exploratory Programming, Urs Hölzle, 163p.
10. LLVM compiler infrastructure. http://llvm.org/
11. Hölzle, U., Chambers, C., AND Ungar, D. 1991. Optimizing dynamically-typed object-oriented languages with polymorphic inline caches. In Proceedings of the ECOOP ’91 Conference. Lecture Notes in Computer
Опубликована
2017-05-30
Как цитировать
АЙРАПЕТЯН, Рубен Борисович; ГАВРИН, Евгений Александрович; ШИТОВ, Андрей Николаевич. ГИБРИДНЫЙ КОМПИЛЯТОР ДЛЯ ДИНАМИЧЕСКОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ JAVASCRIPT. Современные информационные технологии и ИТ-образование, [S.l.], v. 13, n. 1, p. 212-216, may 2017. ISSN 2411-1473. Доступно на: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/211>. Дата доступа: 25 nov. 2024 doi: https://doi.org/10.25559/SITITO.2017.1.476.
Раздел
Исследования и разработки в области новых ИТ и их приложений