Кто быстрее: Исполнитель, 1Скрипт или 1С? Гонка века!

  Рет қаралды 4,410

Веселый1С

Веселый1С

3 жыл бұрын

Загадочный 1С:Исполнитель - новая среда выполнения кода и новый язык. Насколько он быстр? Кто возьмет звание самого быстрого скрипта на Диком Западе?
По итогам недавней конференции 1С для разработчиков мы задались вопросом - насколько предложенный там способ сравнения производительности применим для сравнения 1С и Исполнителя, 1С и 1Script, и всех их друг с другом.
Файлы алгоритмов, используемые в видео лежат по этой ссылке: gist.github.com/EvilBeaver/11...
Поддержать канал материально: donate.stream/openbsl-foundation

Пікірлер: 89
@i292555
@i292555 3 жыл бұрын
:) что-то годное с первых минут
@AlexAniskov
@AlexAniskov 3 жыл бұрын
Прикольно. Уже свеженько, с юмором, видно что заморочился 👍👍👍
@user-zr4uw5ng3r
@user-zr4uw5ng3r 3 жыл бұрын
Ну вот... заморочишься, материала накопаешь, ассемблер, там, асинх/ждать... никто не оценит. А тут вроде просто по фану поговорил - нравится больше
@AlexAniskov
@AlexAniskov 3 жыл бұрын
@@user-zr4uw5ng3r нееее, народ не внемлит сложному, надо проще с юмором )))). На самом деле сложные темы всегда собирают мало «лайков».
@mariyashamanina4918
@mariyashamanina4918 3 жыл бұрын
Лайк за музыкальную паузу😁
@ArbMin
@ArbMin 3 жыл бұрын
Кто в 1с углубился того такими концовками не убедишь, он видел и пострашнее вещи ;)
@plastinin
@plastinin 3 жыл бұрын
Ух, как хорошо то)
@HODYTONE
@HODYTONE 3 жыл бұрын
Убедил. Подписался))
@greatgrainsofartsfromevery374
@greatgrainsofartsfromevery374 3 жыл бұрын
Если у исполнителя код закрыт - то это и есть его основная проблема, а не то, что он медленнее. И да, было любопытно - лайк и подписка!)
@alexander45173
@alexander45173 3 жыл бұрын
Камера шатается... картинка как на волнах. А за обзор, зачет!
@user-vl7bh7gd3l
@user-vl7bh7gd3l 3 жыл бұрын
Теперь Андрюхе точно в Фирму 1С "вход заказан"
@1C8Dancer
@1C8Dancer 3 жыл бұрын
"Поскольку это один и тот же диалект 1С, то портирование выполняется копи-пастом", это было жестоко =)
@budnikov
@budnikov 3 жыл бұрын
Концовочка взбодрила :)) P.S. Подписан
@LeonidWithNoId
@LeonidWithNoId 3 жыл бұрын
А я надеялся что 1с поглотит oscript и внедрит в себя )) но видимо для них изобретать чугунные велосипеды выгоднее чем поддерживать начинания сообщества ((
@user-vl7bh7gd3l
@user-vl7bh7gd3l 3 жыл бұрын
Тут только если infostart'y продаться, как Снегопат и Ванесса.
@asoneas
@asoneas 3 жыл бұрын
Претензии к 1С Executer конечно обоснованы, но будем точны 1С выбрала путь Java и этим все сказано. Почему она не сделала синтаксис 1С на JVM? Зачем нужно было переписывать синтаксис? Java c заданной типизацией может считает Эратосфена 1-2 сек если что.
@chekmarevyv9395
@chekmarevyv9395 3 жыл бұрын
Гитару не хорошо держать у батареи и окна) За сравнение лайкос!
@ЧОТКИЙ_1С-НИК
@ЧОТКИЙ_1С-НИК 7 ай бұрын
Проверил сейчас в 1С предприятии этот кусок кода консолью кода, проверял на двух версиях: 8.3.24 и 8.3.17. Я ожидал, что более новая версия будет тормознутее, но нет. При исполнении на клиенте 8.3.24 показала результат 49 секунд, а 8.3.17 - 58.5 секунд. При выполнении на сервере вообще весело. 44 секунды и 58. То есть 1С оптимизировала свой язык программирования в 1С:Предприятие. Могу только поздравить и от всей души похвалить!
@ЧОТКИЙ_1С-НИК
@ЧОТКИЙ_1С-НИК 7 ай бұрын
то есть в данном случае, если сравнивать односкрипт с предприятием, предприятие судя по всему будет быстрее)
@user-nd9cv4pd5m
@user-nd9cv4pd5m 7 ай бұрын
Какая-то оптимизация в обратную сторону...
@ЧОТКИЙ_1С-НИК
@ЧОТКИЙ_1С-НИК 7 ай бұрын
@@user-nd9cv4pd5m не понял) новая версия же быстрее
@user-nd9cv4pd5m
@user-nd9cv4pd5m 7 ай бұрын
Как же быстрее, если на 8.3.24 было 49, а на 8.3.25 стало 58?
@ЧОТКИЙ_1С-НИК
@ЧОТКИЙ_1С-НИК 7 ай бұрын
@@user-nd9cv4pd5m виноват, не 25, а 17. 25 даже в бету ещё не вышла))) опечатка
@user-dh5lr2ud5s
@user-dh5lr2ud5s 2 ай бұрын
Питончик бы еще замерить, тоже скриптовый язык )
@DmitryReshitko
@DmitryReshitko 3 жыл бұрын
так а на с++ сколько? ;-) спасибо за обзор и каннибалов!
@user-qh4ri3zu7c
@user-qh4ri3zu7c 3 жыл бұрын
охренев от концовки - отписался, чтобы подписаться
@LeonidSpartan1
@LeonidSpartan1 3 жыл бұрын
В конце чуть инфаркт не получил О_о Однажды пытался оптимизировать в OneScript костыльный алгоритм попиксельной работы с графическими файлами (чтение, изменение и т.д.), пришла идея сравнить производительность с платформой, благо можно код копипастить. Тест, занявший в OS полминуты, в платформе я дожидался допивая чай..
@user-zr4uw5ng3r
@user-zr4uw5ng3r 2 жыл бұрын
Тут еще методика замера важна. Если вы запускали свой код из внешней обработки, то он будет раз в 10 медленнее, чем он же, но через Выполнить или из конфигурации
@AlexeyMarinenok
@AlexeyMarinenok 3 жыл бұрын
Елку пора бы уже разобрать
@user-nd9cv4pd5m
@user-nd9cv4pd5m 3 жыл бұрын
первое мая еще не скоро
@hexapoids
@hexapoids 3 жыл бұрын
@@user-nd9cv4pd5m kzfaq.info/get/bejne/Z9-UlJOgnZe5pIE.html
@1C8Dancer
@1C8Dancer 3 жыл бұрын
Может быть это многоходовочка, чтобы платформе 1С было у кого выигрывать по скорости на параолимпиаде по программированию?
@user-dt6wq8js8b
@user-dt6wq8js8b 8 ай бұрын
Серьезно не знаешь, с чем эжто связано? С отладчиком. Отруби отладчик и будет также.
@arcanist100
@arcanist100 3 жыл бұрын
предлагаю написать парсер для csv согласно rfc tools.ietf.org/html/rfc4180 Там получается что надо проходить всю строку посимвольно - интересно насколько java будет отличаться рантайм. Я сравнивам жабу с сапом - сап медленнее в 100 раз :( вот тут сорс код на жабе mkyong.com/java/how-to-read-and-parse-csv-file-in-java/
@Finist7483
@Finist7483 3 жыл бұрын
у 1С свой менеджер памяти и поэтому скорость создания массива и заполнения выше.
@serj0peleng
@serj0peleng 3 жыл бұрын
да, исполнитель медленный... однако все три интерпретатора 1С, Исполнитель и 1Script это не про скорость вычислений... если нужна скорость, то надо компилятор, а не интерпретатор.... Провел испытания этого кода на Односкрипте и Перфоленте... Односкрипт 113 секунд Перфолента 39 секунд Но если переписать пару строк кода, что бы вместо коллекции Массив использовался обычный "нативный" массив, то Перфолента сразу дает 0,7 секунды... т.е. в 160 раз быстрее, чем Односкрипт... Н = 50000000; Массив Мас[Н] тип Булево = Истина; Мас[0]=Ложь; Мас[1]=Ложь; времяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах(); Для индекс = 2 По Н Цикл Если Мас[индекс] Тогда квадрат = Цел64(индекс) * индекс; Если квадрат
@alexeibelousov3279
@alexeibelousov3279 3 жыл бұрын
это да, перфолента тут всех уделает в таком тесте, ну оно и понятно.. хотя ее уже сравнивать нужно с полноценно компилируемыми языками
@serj0peleng
@serj0peleng 3 жыл бұрын
@@alexeibelousov3279 я сравнивал этот тест с C# и Перфолента показала точно такое же время... +/- пару миллисекунд, иногда шарп быстрее иногда Перфолента, видимо зависит от того, что в момент запуска ОС делает...
@serj0peleng
@serj0peleng 3 жыл бұрын
@@alexeibelousov3279 а вот на Java 15 мне почему-то не удалось добиться высокой скорости, как у Никиты Грызлова получилось... но я Джаву не знаю толком... хочу спросить у Никиты как он её запускал, что бы высокая скорость была... а то она у меня на уровне Односкрипта работает... всего чуть-чуть быстрее...
@serj0peleng
@serj0peleng 3 жыл бұрын
@@alexeibelousov3279 что-то Ваши комментарии, которые Ютуб мне на почту присылает, здесь не отображаются... интересно, Вы их сами удаляете, или Ютуб отчего-то решил их удалять? Да, на "диком западе", как Вы выразились, php7 и python3 работают значительно быстрее, чем наши домашние Исполнитель и Односкрипт, но тут всё дело в языках, на которых написаны интерпретаторы... интерпретатор написанный на Си или ещё лучше на ассемблере значительно обгонит аналог написанный на языке высокого уровня... зато, усилия необходимые для написания интерпретатора на языке высокого уровня меньше, чем на Си... что бы своё развивалось, его надо поддерживать... помогите Андрею Овсянкину чем можете, и Односкрипт станет быстрее и лучше... а Исполнителю пусть фирма 1С поможет, у неё ресурсов много...
@alexeibelousov3279
@alexeibelousov3279 3 жыл бұрын
@@serj0peleng там кто то другой видимо писал, мой каммент один, вот висит первый в ветке.. я вродь ничего больше не писал. пс: мне перфолента чуть более интересна чем односкрипт.
@santious
@santious 3 жыл бұрын
Да, действительно. 50000000 итерация через Выполнить() выполнилась в 2 раза быстрее чем напрямую кодом в 1с. Может кто то знает с чем такое поведения может бысть связанно?
@user-nd9cv4pd5m
@user-nd9cv4pd5m 3 жыл бұрын
Подозреваю, что у выполнить отключается поддержка отладки, номеров строк и т.п.
@santious
@santious 3 жыл бұрын
@@user-nd9cv4pd5mА если запустить не из под конфигуратора, то результат не меняется. Как Вы считаете, без разницы? На самом деле был очень удивлён в разнице производительности :)
@Skarbovoy
@Skarbovoy 3 жыл бұрын
Старые платформы быстрее в разы на подобных задачах, например 8.2.13. А если писать в одну строку будет ещё быстрее.
@user-yl6vn4uv9g
@user-yl6vn4uv9g 3 жыл бұрын
А если обработку встроить в конфу, то скорость покажет сопоставимую с Выполнить(). Баг с внешними обработками довольно известный)
@asoneas
@asoneas 3 жыл бұрын
Конечно классная подача и Андрей молодец,что двинул oscript в массы, но есть подозрения что попадаем в вечные разборки Java vs .Net У меня на компе Windows Pro 10, openjdk version "11.0.6" 2020-01-15 LTS executor_j11.cmd - 13.662 сек oscript - 97.883 сек У меня правильная java и похеренный .Net? Помогите разобраться? Или экзекуторы уже оптимизировали? (Ой кажется экзекутеру поставил в 10 раз меньше итераций, и таки у экзекутера проблема со сборщиком мусора... )
@serj0peleng
@serj0peleng 3 жыл бұрын
что-то комментарий мой исчез... может из-за ссылки, которую я дал.... в общем, повторюсь... скачал последний Исполнитель, но он по прежнему работает значительно медленнее, чем OneScript, не говоря уже про Java, C# или Перфоленту... может у нас с вами код теста различается?
@asoneas
@asoneas 3 жыл бұрын
​@@serj0peleng Все извиняюсь, был не прав, посыпаю голову пеплом... Забыл про еще один нолик ;)
@serj0peleng
@serj0peleng 3 жыл бұрын
@@asoneas если Вы заметили, то объясню остальным... По ссылке под видео есть два файла, один для OneScript, в котором указано 50 000 000 циклов, а второй для Исполнителя, в котором указано только 5 000 000 циклов... это и вводит в заблуждение, кажется, что Исполнитель быстрее работает... но стоит только добавить нолик.... и всё становится на свои места...
@asoneas
@asoneas 3 жыл бұрын
@@serj0peleng Что теперь у меня пропадает комментарии. А ведь они хотели сделать же статическую типизацию как в Java? И результат java - 14 сек.
@serj0peleng
@serj0peleng 3 жыл бұрын
@@asoneas дело же не в типизации, а в том, что Исполнитель это надстройка над Java... т.е. от скорости Java отнимается время работы самого Исполнителя... так же как интерпретатор Односкрипта это надстройка над Net...
@smaginkv
@smaginkv 3 жыл бұрын
Я нипонел. Так что быстрее, java или C#?
@user-nd9cv4pd5m
@user-nd9cv4pd5m 3 жыл бұрын
Исполнитель!
@asoneas
@asoneas 3 жыл бұрын
@@user-nd9cv4pd5m На очень диком западе в секундах php7 - 22 python3 - 25 oscript - 97 executor_j11.cmd - 130 И Java, Kotlin(JVM) и Перфолента.Net меньше секунды
@channel30495
@channel30495 3 жыл бұрын
дизлайки ставят разрабы из 1С:Исполнитель
@kefmdksalw
@kefmdksalw 3 жыл бұрын
Все трое?
@channel30495
@channel30495 3 жыл бұрын
@@kefmdksalw не знаю сколько их но явно это они)
@user-hj5yw8ph9s
@user-hj5yw8ph9s 2 жыл бұрын
Ворос к авторам - а можно в скрипте диалект поменять в сторону от 1С к примеру сделать его питон подобным? И вообще на будущее словари прикручивать чтоб на диалектах буржуйских можно было писать? С конвертером разумеется... А то сама 1С раскорячилась только на русский и английский - мультиязычный Тузик думаю порвал бы многих в том числе и поделки от 1С.
@user-nd9cv4pd5m
@user-nd9cv4pd5m 2 жыл бұрын
Сделать транслятор одного варианта языка в другой - задача не сложная, YoptaScript тому пример. Но под новый диалект надо доделывать IDE, а это уже может стать большой проблемой
@user-zr4uw5ng3r
@user-zr4uw5ng3r 2 жыл бұрын
А на каких еще кроме английского "буржуиских диалектах" есть потребность писать? Судя по i в нике вы бы, возможно, хотели добавить украинский? У нас таких планов нет, но технически это возможно. Код компилятора открыт, можете форкнуть и сделать версию с ua в ключевых словах
@user-hj5yw8ph9s
@user-hj5yw8ph9s 2 жыл бұрын
@@user-zr4uw5ng3r буковки ї или і это у меня от любви к дореформеному, а не к окраїне или ещё каким постсоветским суржекам... По сути - в сам диалект хорошо бы питон подобный диалект прикрутить (просто можем так с удобным копипастом, а можем и так…) (захват пустующей ниши обучения в школах - правда тут ещё графикой озаботится надо - но проще обучать на русском) это раз - ну и два - Вас ждёт немецкий рынок - там уже прикоснулись к 1С и не плохо зашло. Зайдёт ещё лучше если специалисты смогут сами под себя приспосабливать инструмент, которым пользуются - немцам на немецком - небольшая конвертация и иной специалист из другой страны будет на своём пусть и на ломаном, для начала, но понимать о чём там речь... Собственно, экспансия 1С остановилась в границах СНГ не потому, что с 1С что-то плохо - просто упёрлись в языковой барьер - а ведь изначально заложили неплохой механизм, на который в последствии забили - развивали только перевод интерфейса. Ну и ограничение в программировании русским и вторым английским естественно привело в современную лужу и вряд ли ребятки из самой 1С в нынешних реальностях в состоянии осознать всю глубину той лужи в которой они оказались… Ребят имея 20 летний опыт с 1С и перейдя с Фокс про и клипера - я ещё помню своё мнение о русском языке в программировании - но позже автоматизировав бизнес, и не в одном предприятии, собственно понял дальновидность принципа заложенного ещё в семёрку - пусть инструмент убог и коряв, но главное он позволяет общается с бизнесом на его языке и в его терминологии, просто брать и делать, а не сидеть и репу чесать над тем как назвать очередную переменную чтоб пацанчики знающие английский не громко ржали…
@shootnicktm9445
@shootnicktm9445 3 жыл бұрын
ты забыл КАЛАКОЛЬЧЕЕЕЕГГГГ !!!
@alexeibelousov3279
@alexeibelousov3279 3 жыл бұрын
До просмотра видео ставлю на 1с скрипт
@alexeibelousov3279
@alexeibelousov3279 3 жыл бұрын
После просмотра: ну собственно совершенно предсказуемые результаты лично для меня. 1С скрипт первый потому что самый простой, платформа вторая потому что ядро уже неплохо вылизано (особенно исполнение кода), исполнитель последний потому что ява + слишком сырой. По синтаксису полностью согласен, бред полнейший, неудобно даже просто смотреть такой код, а не то что писать что то на нем, почему нельзя было оставить синтаксис 1С непонятно.
@GdpZhora
@GdpZhora 3 жыл бұрын
А чо, проверил бы скорость инициализации массива бы еще для спортивного интереса раз пошла такая пьянка)
@alexeibelousov3279
@alexeibelousov3279 3 жыл бұрын
поддерживаю, интересно кто быстрее работает с памятью. Создание массива и очистка (удаление элементов в цикле). Ставлю на то что результаты точно такие же будут, 1С скрипт, потом платформа и сильно позади исполнитель
@user-ob8qz1en7m
@user-ob8qz1en7m 3 жыл бұрын
Эх, зачем же гитару рядом с батареей ставить(
@user-nd9cv4pd5m
@user-nd9cv4pd5m 3 жыл бұрын
это была временная дислокация)
@user-ob8qz1en7m
@user-ob8qz1en7m 3 жыл бұрын
Ну тогда ладно)
@wproot
@wproot 3 жыл бұрын
Все хорошо, но нафига такой треш в конце вставлять, у меня уши в штаны вывалились.
@user-fz1cv8fq6w
@user-fz1cv8fq6w 3 жыл бұрын
Может Исполнитель тут не при чем, а это Java машина тормозит
@nixel2007
@nixel2007 3 жыл бұрын
джава сама по себе быстрая. бсл лс и бсл парсер, лопятящие на джаве десятки тысяч файлов за приемлемое время, тому пример
@asoneas
@asoneas 3 жыл бұрын
Как выяснилось на Java даже построчное выполнение ~ 10 сек, а при оптимизации как у .Net меньше секунды.
Я нашел кто меня пранкует!
00:51
Аришнев
Рет қаралды 4,3 МЛН
Самое Романтичное Видео ❤️
00:16
Глеб Рандалайнен
Рет қаралды 6 МЛН
When You Get Ran Over By A Car...
00:15
Jojo Sim
Рет қаралды 24 МЛН
ЭТО должен знать КАЖДЫЙ 1C программист!
14:45
Автоматизация бизнеса. Андрей ALEXROVICH
Рет қаралды 28 М.
Урна с айфонами!
0:30
По ту сторону Гугла
Рет қаралды 8 МЛН
ПОКУПКА ТЕЛЕФОНА С АВИТО?🤭
1:00
Корнеич
Рет қаралды 3,8 МЛН
iPhone 16 с инновационным аккумулятором
0:45
ÉЖИ АКСЁНОВ
Рет қаралды 7 МЛН