Categorygithub.com/covrom/gonec
modulepackage
0.0.0-20221203061143-4a6722738b66
Repository: https://github.com/covrom/gonec.git
Documentation: pkg.go.dev

# README

GitHub issues Travis

Gonec Logo

Demo site

Presentation Docs

Цели

Платформа Гонец:Микросервисы создана для решения программистами 1С задач, связанных с высокопроизводительными распределенными вычислениями, создания микросервисов, вэб-сервисов и вэб-порталов для работы тысяч пользователей, работы с высокоэффективными базами данных, с использованием синтаксиса языка, похожего, но не ограниченного возможностями языка 1С. Для этого интерпретатор встраивается в решения на языке Go.

Описание синтаксиса языка и примеры использования интерпретатора

Документация находится здесь

Пример приложения "Список задач":

Todo application

Масштабируемость языка и платформы

Язык Гонец расширяется путем изменения правил синтаксиса в формате YACC, а так же написания библиотек структур и функций на Го, которые могут быть доступны как объекты метаданных в языке Гонец.

Посмотреть на использование интерпретатора в роли микросервиса можно по ссылке выше. В этой реализации в интерпретатор встроена простая система запуска кода через обычный браузер.

Какова производительность интерпретатора?

Производительность выше, чем у интерпретатора 1С, и соответствует скорости программ на Go и скорости работы библиотек, написанных на Go.

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

Пример сравнения производительности цикла без тела, перебор значений от 1 до 1 млн. Участники сравнения:

  • Гонец с регистровой виртуальной машиной
  • 1С:Предприятие 8.3.9.2170 (файловая)

PerfVs1C

Производительность одновременного запуска 1000 серверных и 1000 клиентских подключений, по протоколам TCP и HTTP, на 4-ядерном Core-i5 3570

PerfConnect

Какой статус разработки интерпретатора?

Интерпретатор работает стабильно, протестирован и находится в стадии разработки стандартной библиотеки.

# Packages

Package ast implements abstruct-syntax-tree for gonec.
Package bincode - виртуальная машина исполнения байткода.
The /v1/operator/area endpoints are available only in Consul Enterprise and interact with its network area subsystem.
Package core implements core interface for gonec script.
No description provided by the author
Package parser implements parser for gonec.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

Run запускает микросервис интерпретатора на порту.