Size: a a a

2020 May 16

S

Snusmumriken in pro.lua
Companion Philipp
Достаточно знать, что при floating points нельзя адекватно использовать операторы сравнения
Обычно можно больше-меньше, но не стоит чекать точное равенство. На равенство чекаем после округления до какого-нибудь знака после запятой.
источник

CP

Companion Philipp in pro.lua
Snusmumriken
Обычно можно больше-меньше, но не стоит чекать точное равенство. На равенство чекаем после округления до какого-нибудь знака после запятой.
Мм, да, так правильнее
источник

AZ

Aydar Zarifullin in pro.lua
Я тут давненько жаловался что в мунджит нет функции lual_requiref...
источник

AZ

Aydar Zarifullin in pro.lua
Теперь она там есть. Кто-то кроме меня здесь вообще мунджит юзает? (Тем более в виде полностью статической либы?)
источник
2020 May 17

VV

V V in pro.lua
Ameliance SkyMusic
я уже запарился😢
Не знаю, актуально ли, но:
1. Когда ты создаёшь lamp.__index = lamp; и setmetatable( x, lamp ) ты делаешь возможным поиск по lamp, опредедённый внутри же lamp, как в метатаблице твоей таблицы.
Только поиск, больше ничего.
2. А когда ты делаешь { __index = lamp }, ты делаешь поиск по таблице lamp, а вот метатаблица у тебя будет другой - той, которую ты создал.
источник

VV

V V in pro.lua
Ivan Bessarabov
а еще значение  __index может быть не таблицей, а функцией =)
Мне тут снус выше наглядно показал, что __index - функция работает медленнее, чем __index - таблица. Так что неочевидно, стоит ли вообще использовать.
источник

S

Snusmumriken in pro.lua
В общем-то пофигу.
источник

S

Snusmumriken in pro.lua
Функции дают больше возможностей (множественные наследования, "приватные" свойства и всякая такая дичь). Таблички — побыстрее. Но в норме, мы не особо паримся о скорости, не-так-часто-вызываемые объекты могут быть какими угодно.
источник

S

Snusmumriken in pro.lua
Так что просто не цепляем к частовызываемой фигне (векторы-матрицы, например) методы с функциями.
источник

VV

V V in pro.lua
Я некоторые вещи сразу оцениваю через O(n), чтобы потом не мучиться от болей в простреленном колене =)
источник

S

Snusmumriken in pro.lua
Сделай функцию __index со сложностью O(n) (т.е. O(1)), и не парь моск ни себе ни другим : )
источник

VV

V V in pro.lua
Таблица быстрее, ты сам доказал =) Так что функции - для редких исключений ;)
источник

S

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

VV

V V in pro.lua
Время обработки будет различаться почти вдвое, если у тебя __index = {} относительно __index = function()end
источник

S

Snusmumriken in pro.lua
Ох, основную часть времени будет сжирать всё-таки не поиск метода через таблицу или функцию, а его вызов.
источник

S

Snusmumriken in pro.lua
Оптимизация пяти процентов — глупость.
источник

VV

V V in pro.lua
а зачем себе же мину в будущее  закладывать? Тратить 5%, когда можно не тратить?
источник

S

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

S

Snusmumriken in pro.lua
V V
а зачем себе же мину в будущее  закладывать? Тратить 5%, когда можно не тратить?
Это называется "преждевременная оптимизация", и она — глупость по умолчанию.
источник

S

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