Size: a a a

2021 November 28

VO

Vyacheslav Olkhovche... in pro.lua
нет, асм там не сильно поможет
источник

VO

Vyacheslav Olkhovche... in pro.lua
т.е. в лучшем случае он даст несколько процентов по сравнению с си при минимум десятикратном замедлении разработки
источник

S

Snusmumriken in pro.lua
Что важнее?
источник

S

Snusmumriken in pro.lua
Ты же хочешь выжать БОЛЬШЕ? Значит готов мириться со скоростью разработки )
источник

VO

Vyacheslav Olkhovche... in pro.lua
не на пару процентов
источник

VO

Vyacheslav Olkhovche... in pro.lua
минимум процентов 50 на первой итерации.
источник

S

Snusmumriken in pro.lua
И вот теперь, когда ты плавно отходишь от тотального тоталитарного тоталитаристического выжимания из железки максимума, ты направляешься в сторону балансирования комфорта и производительности. И тут не бывает "это медленно а это быстро" — тут используются конкретные значения и прикидка их по достаточности.

Кстати, ты говорил на тему "у меня же глобальные флаги, я не хочу посвящать пользователей в тонкости" — не забывай, что ты можешь изменить require, и сделать полный набор локальных переменных в пользовательском скрипте, просто склеив строчечки с кодом а потом запустив. Операция одноразовая, так что на производительность рантайма не влияет.
источник

S

Snusmumriken in pro.lua
Ещё, не забывай что пользователь туп и скудоумен, причём любой, включая тебя самого. Любой пользователь скриптов найдёт способ заставить всё работать в тысячу раз медленнее положеного, и хорошо если не по экспоненте экспонент.
источник

S

Snusmumriken in pro.lua
Но если пользователь норм и знает как работает луа — он сам себе закеширует всё что ему нужно. Это не сакральная практика, это норма, так делают все пользователи во всех скриптах, кешируют переменные для ускорения доступа к ним. Любые попытки сделать оптимизации за пользователя — метание бисера перед свиньями. Пусть разбирается, это его работа. Ты сделал апи, которое МОЖНО сделать быстрым? Вот, прекрасно, пусть пользователь трахается с тем, как именно это надо делать быстрым, изучает языки, среду и всё остальное. Если он на это не способен — весь его код по умолчанию тормозное говно, и нечего пытаться его оптимизировать за него, ты не мамка и не нянька, и жопу ему не подтираешь.

Вкратце: разграничивай ответственность.
источник

LU

Lucky Uk in pro.lua
Истинно. Глаголю, как любитель писать 3д-шутеры на движках для текстовых игр.
источник
2021 November 29

TS

Timur Safin in pro.lua
Скобочки вокруг если поставить, схлопнет
источник

CP

Companion Philipp in pro.lua
Вот так вот экономят на лукапах, а потом окажется, что где-нибудь есть цикл на конкатенацию миллиона строк с помощью ..
источник

S

Snusmumriken in pro.lua
Это уже не наш случай, нужно конкретно "сэкономить на лукапах".
источник

CP

Companion Philipp in pro.lua
Ну так пусть экономят, шо
источник

VO

Vyacheslav Olkhovche... in pro.lua
а если мне надо сгенерировать IPv4 адрес, то есть ли какая-то разница -- четыребайтовую строку возвращать из сишной функции или int? дальше это значение пойдет как аргумент из луа в другую сишную функцию.
источник

S

Snusmumriken in pro.lua
Строки в луа иммутабельные, со стрингбуфером. Делай выводы.
источник

S

Snusmumriken in pro.lua
Так что я бы делал на int'ах, с тупой функцией преобразования в тупую строку по необходимости вывода/отладки.
источник

VO

Vyacheslav Olkhovche... in pro.lua
да не вижу тут никаких выводов. менять не собираюсь.
pkt:set_src_ip(random_ip()) -- вот тут что число что строка оба иммутабельные по сути. и оба lua конструкция.
источник

VO

Vyacheslav Olkhovche... in pro.lua
под строкой я имел ввиду бинарную четырехбайтовую строку.
источник

VO

Vyacheslav Olkhovche... in pro.lua
числа-то double получаются, тоже все не бесплатно
источник