Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Мы писали ранее, что для работы 1С:Исполнителя требуется установленная Java. Для некоторых пользователей это оказалось неудобным, поэтому мы сделаем новый вариант поставки 1С:Исполнителя, в котором устраним это требование. Мы планируем выпустить вариант 1С:Исполнителя, который будет запускаться как нативное приложение для конкретной ОС и не потребует установки Java.
Каждый вариант получит свое название:
1С:Исполнитель(U) – вариант продукта, требующий предустановленной Java (от слова Universal - универсальный).
1С:Исполнитель(Х) не приходит на смену 1С:Исполнителю(U), требующему установки Java; оба варианта планируется развивать параллельно. 1С:Исполнитель(Х) можно использовать в тех случаях, когда установка Java нежелательна и/или критично время запуска скриптов.
Сейчас мы оптимизируем 1С:Исполнитель(Х) не для сценариев выполнения объемных вычислений и большого количества операций, а именно обеспечения быстрой скорости запуска. По нашей оценке основной сценарий использования продукта - это короткие действия, которые нужно запускать как можно быстрее.
Особенности 1С:Исполнителя(Х):
Увеличение производительности. Одной из задач было ускорить первоначальную инициализацию продукта и увеличить скорость запуска скриптов. Чтобы сравнить производительность 1С:Исполнителя(U) и 1С:Исполнителя(Х) мы специально использовали не самое новое оборудование (процессор Intel Core i5-3550, диск SSD Samsung evo850, ОС Windows 10). Результаты для 1С:Исполнителя(Х):
Для скрипта на 1000 строк, проводящего большое количество вычислений с использованием чтения и записи JSON, время работы сократилось в 6,5 раз.Стоит отметить, что при этом 1С:Исполнитель(U) показывает лучшую пиковую производительность по сравнению с 1С:Исполнителем(Х).
Как мы уже говорили, 1С:Исполнитель(Х) не требует установленной JRE или JDK.
В силу особенностей архитектуры 1С:Исполнителя(Х) динамическая загрузка библиотек в нем не поддерживается. Так, некоторые специфические объекты в 1С:Исполнитель(Х) работать не будут (объекты, которым требовались сторонние библиотеки, устанавливаемые пользователем самостоятельно).
Интерфейс командной строки запуска 1С:Исполнителя(Х) под Windows и Linux не изменился по сравнению с 1С:Исполнителем(U) и привычные вызовы будут работать.
Для реализации 1С:Исполнителя(Х) мы использовали проект GraalVM. GraalVM — это виртуальная машина Java и JDK, умеющая компилировать программы, написанные на Java, в нативные приложения.
Подробнее про устройство 1С:Исполнителя(Х) рассказывалось на конференции 1C:SysDevCon в выступлении «Как мы интерпретатор, написанный на Java, заставили работать без Java, и зачем?». Запись доклада доступна для всех зарегистрированных пользователей портала developer.1c.ru.