Skip to content
Платформа создания микросервисов на 1С-подобном языке
Branch: master
Clone or download
Latest commit 1cbd187 Nov 15, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode перенос строк и комментарии Jul 8, 2017
ast stmt worker pool Oct 21, 2017
bincode
consulapi
core таблицазначений Nov 7, 2018
example todo example Oct 31, 2017
extra
names ускорение env за счет перехода на слайсы Oct 4, 2017
parser new goyacc Nov 15, 2018
pos stmts Sep 13, 2017
services/gonecsvc boltdb Oct 29, 2017
test
tool рефакторинг Sep 17, 2017
vendor
version Файловая база данных BoltDB Oct 29, 2017
.gitignore example Oct 31, 2017
.travis.yml vmslicer вместо vmslice, правки readme Nov 7, 2018
Gopkg.lock dep Nov 7, 2018
Gopkg.toml dep Nov 7, 2018
LICENSE
PITCHME.css pitch Oct 12, 2017
PITCHME.md
PITCHME.yaml
Procfile диагностические сообщения Aug 13, 2017
README.md
TODO todo Oct 31, 2017
_config.yml Set theme jekyll-theme-tactile Jul 8, 2017
cpu.pdf test pi Oct 20, 2017
main.go
main_test.go http Oct 21, 2017
mem.pdf remove binfree (use sync pool) Oct 6, 2017
test.db test.db Oct 29, 2017

README.md

GitHub issues Travis

Gonec Logo

Presentation Demo site

Download Docs

Chat Blog

Цели

Платформа Гонец:Микросервисы создана для решения программистами 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

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

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

You can’t perform that action at this time.