Andrey
на луе
Andrey
мунскрипт - это извращение конечно
Andrey
любая поделка на луа использует скорость джита 😊
Nikola
Nikola
Благодарю.
Nikola
Вкусно, спасибо
Snusmumriken
Питон на микрухах. Кхм. Ну у каждого свои любимые сорта извращений. Луа в общем-то в такое же извращение, но чуть-чуть эффективнее.
Для тех кто в танке: это всё равно что запускать windows 95 на принтере. Технически возможно, можно но о боже мой.
Serezha
Не надо ничего считать на микрухах. Надо лампочками мигать :) Любой интерпретатор подойдет.
Anonymous
а что там считатть то? Lua то что быстрее и так понятно, но питон проще и удобнее вот его и используют. если речь о микроконтроллерах, то там на ссколько я помню не обычный питон а несколько изменённый
Anonymous
не... я имею в виду проще синтаксически
🐅🤦♂️
https://habr.com/ru/company/mailru/blog/459464/
Мне сложно понять Роберто, он затрагивает многие вещи в которых я не разбираюсь, называет несколько довольно экзотических языков которые на него повлияли, рассказывает про проблемы декремента указателя в адресной арифметике на C. Спасибо, интересная статья, перечитаю с удовольствием.
Mikhail
Mikhail
записал видео урок про еще 1 Lua Debugger в Roblox (после видео про отладчик в ZeroBrane Studio). Оказалось много общего.
https://www.youtube.com/watch?v=3TGIlapXuqM
.
Ребят, сколько в string максимальное количество символов?
Mark ☢️
https://www.opennet.ru/opennews/art.shtml?num=51126
Mark ☢️
Доступен выпуск проекта Tinygo 0.7.0, в рамках которого развивается компилятор языка Go для областей, в которых необходимо компактное представление результирующего кода и низкое потребление ресурсов, таких как микроконтроллеры и компактные однопроцессорные системы. Код распространяется под лицензией BSD.
Mark ☢️
Отаке! то Фабрис Беллар джс запилит мелкий и быстрой, то вот для ги запилили LLVM
Mark ☢️
луа может стать ниужной
Mark ☢️
(я набросил и ушёл)
.
Serezha
для компиляторов такие мелкие реализации не очень актуальны тк ты можешь кросскомпилировать с большой машины на любые другие мелкие платформы беззаботно
🐅🤦♂️
Го даёт быстрый компактный машинный код?
🐅🤦♂️
У исполняемого файла большой рантайм или он самодостаточный? Или можно настроить? Подскажите если есть опыт.
Serezha
но все относительно - посмотрел на свою утилитку для перегонки XML файлов в SQL для последующей загрузки в базу - исполнимый файл весит 2.5 MB
Serezha
это базовый рантайм гошки и либа для манипулирования XML внутри - имхо норм, этот файл можно взять как есть и запустить на любой убунте не доставляя ничего больше из гошного окружения
Mark ☢️
почему
Mark ☢️
Mark ☢️
Mark ☢️
Mark ☢️
Mark ☢️
Mark ☢️
Mark ☢️
Serezha
ну ясень пень старые деды которые на ассемблере и сишке пишут - вылезут и будут ворчать 🙂
Serezha
а если сравнивать с мейнстримом сейчас - JVM, Python и тд - то однозначно быстрые и компактные программы получаются которые можно стартовть прямо в голом контейнере с alpine linux ничего не подтягивая
Serezha
я у себя вот такой тест на молотилку чиселок гонял когда хотел понять насколько го быстрее луаджита https://news.ycombinator.com/item?id=19750507
Igor
Serezha
Когда в 25 уже дед D:
на хабре недавно писали про код возняка который на 8 битном процессоре реализовал все арифметические операции над флоатами в 170 байт подпрограмме чтоле
Serezha
исходя из этих критериев и современные либы на сишке покажутся монстрами 🙂
Igor
Serezha
Serezha
имплементация на го 1.5 сек
Serezha
идиоматичная имплементация на луа 25 сек
Serezha
переписанная захаканная луа 8 сек
Max
Serezha
та которая на гитхабе этого теста - все матрицы в таблицах итд
Serezha
цифры конечно для луаджита - на чистой луа сдохнешь пока результат дождешься
Serezha
но по размерам так : бинарник луаджита 570К, а файлик бинарный гошки 2М
Serezha
реализация на Си : 0.3 сек при размере 13К бинарника
Serezha
Serezha
но теряется суть и красота использования мощного и компактного языка типа луа с перегрузкой операторов и красивыми абстракциями 🙂
Max
Serezha
прочекал тест на обычной луа получилось отставание в 4-6 раз от джита что тоже довольно неплохо
Serezha
Serezha
дело даже не столько в скорости как именно в условной безопасности которую дает строго типизированный код еще на этапе компиляции
NM
Serezha
Anton
Roman
@Fearan а libmoon в проде нормально?
Anton
Ога.
Но на круг все равно дешевле дофичивать, чем на голом си.
Когда появится время - все-таки сделаю приседание, и сговнякаю на нем парсер, из спортивного интереса.
Egor
Приветы. Мне тут пример кидали, как лучше делать (или как он делает) либы, и я его потерял, может кто подсказать, как лучше сделать, чтобы это была либа, но либа разносторонняя, т.е. не выполняет одну какую-то функцию а несколько и разноплановых?
Snusmumriken
Egor
опять как-то сумбурно написал -_-
Snusmumriken
Карочи, основной прекол: в таблицу можно запихнуть функции (и другие таблицы, в т.ч. с функциями), а require умеет в return. Это всё что нужно знать.
Egor
Snusmumriken
Не глобальное, внутри локальной myvar.
Snusmumriken
Опа, а теперь мне стало интересно, можно ли писать
function foo.bar.baz() ... end, скорее всего нет но чем чёрт не шутит.
Snusmumriken
Офигеть. Можно. С методами, правда, это не сработает, надо писать self.
Snusmumriken
Но вывод следующий:
local lib = {}
lib.graphics = {}
function lib.graphics.draw(something)
blabla
end
function lib.graphics.newText(text)
return newText(text)
end
return lib