Шамиль
помогите пожалуйста решить задачу
Snusmumriken
помогите пожалуйста решить задачу
Может ты выдашь задачу? ))
Luсky
Восэм ылы сэм
Daniil
Подозреваю, он про капчу говорил... 😝
Roy
Roy
Подскажите, почему id == nil? Я же его проинициализировал
Roy
ChaosIcicle.towers = {} вот towers поле
Roy
Смотрю локальные данные, почему то он как таблицу определяет походу
Roy
Я планировал получить массив, а там таблица
Snusmumriken
Смотрю локальные данные, почему то он как таблицу определяет походу
Инициализировать-то ты инициализировал, а чем именно — не показал.
Roy
Возможно плюсы возвращают что-то не то
Roy
Да, плюсы возвращают nil
Roy
Тогда все ок, дальше я разберусь
Tony
Хм, Lua, оказывается, один из самых энергозатратных языков программирования https://haslab.github.io/SAFER/scp21.pdf
Александр
Хм, Lua, оказывается, один из самых энергозатратных языков программирования https://haslab.github.io/SAFER/scp21.pdf
Тупое исследование - собственно как и с соревнованиями программ, т.к. 1) инструментарий разный 2) тестовые проги можно очень по разному написать их сценарий получается фикцией 3) С учётом результатов ржавого - предположу, что всё исследование является лишь очередной грязной рекламной кампанией оного. Короче - шнобелевку своими грязными спекуляциями они заслужили. В остальном - вполне ожидаемо, что скриптовые языки будут не энергоэффективными, т.к. выполняют больше неэффективной работы и выполняют работу дольше, в остальном - энергоэффективность в данном случае коррелирует с тремя вещами - производительность языка, качество рук разработчика, возможности языковой среды, которые спроектировали разработчики языка.
Tony
Тупое исследование - собственно как и с соревнованиями программ, т.к. 1) инструментарий разный 2) тестовые проги можно очень по разному написать их сценарий получается фикцией 3) С учётом результатов ржавого - предположу, что всё исследование является лишь очередной грязной рекламной кампанией оного. Короче - шнобелевку своими грязными спекуляциями они заслужили. В остальном - вполне ожидаемо, что скриптовые языки будут не энергоэффективными, т.к. выполняют больше неэффективной работы и выполняют работу дольше, в остальном - энергоэффективность в данном случае коррелирует с тремя вещами - производительность языка, качество рук разработчика, возможности языковой среды, которые спроектировали разработчики языка.
1) Если я не ошибаюсь, то там бОльшая часть статьи посвящена обоснованию того, почему исследование валидно, и вообще статья прошла peer-review
Александр
3) Вы не считаете, что хорошие результаты языка могут быть следствием его качеств?
Я конкретно в случае раста уверен, что "исследователи" просто недооптимизировали проги на Си/Си++. В 1,3-1,5 для раста я бы поверил, в ~1,03 - даже не смешно. В целом - проги нужно посмотреть, причём спецам по каждому конкретному языку.
Tony
А компиляторы и их параметры должны быть в статье
Tony
Или в сапплементах
Александр
1) Если я не ошибаюсь, то там бОльшая часть статьи посвящена обоснованию того, почему исследование валидно, и вообще статья прошла peer-review
Очень по разному можно собирать, очень разные вещи на разных уровнях оптимизации может делать компилятор, очень разные вещи(в смысле внутренних реализаций) делают контейнеры, очень по разному нужно писать код, чтобы хорошо его нормально оптимизировал гцц или сланг - просто будет несколько несерьёзно, если под капотом например раст был собран с march=native, векторизацией и пр, а сишка на О2, без учёта тонкостей - в общем простор для возможных спекуляций, - огромнейший.
Александр
Особенно вопросы опять же к расту и алгоритмам, причём вопрос алгоритмов касается каждого языка, так например если использовать в плюсах стандартные контейнеры - можно очень сильно налажать с производительностью, напротив, можно скачать "васянский" супер avx-512 векторизованный на уровне unsafe крейт и как итог пинать сишку, просто потому, что крейт утрированный. Мы и с луа ведь можем фигню сделать - пишем всё на си, векторизуем руками, оборачиваем в луа, вызываем из под луа - и вуаля, - пишем, что луа порвал всех. В общем - сравнение языков - бред, сравнивать можно в очень узких рамках и как правило только языки для идентичных областей применения и то останется куча вопросов к разработчикам и проделанной за нас работе разработчиками инструментария, в противном случае мы сравниваем 4х4 внедорожник с последним болидом формулы-1 феррари и удивляемся - чёй-то лошадей у второго много, а через тайгу не едет.
🐅🤦‍♂️
Хм, Lua, оказывается, один из самых энергозатратных языков программирования https://haslab.github.io/SAFER/scp21.pdf
Пролистал мельком. Нужно глубже читать. Там ближе к началу есть определение энергоэффективности языка. Не понял что это за параметр. В целом соглашусь с Александр
Snusmumriken
Челы. Пчелы. Родные мои, дорогие мои. Какая разница "насколько энергоэффективна луа" когда самый загруженный и требующий производительности код всё равно написан на сишке и подключён к луа библиотекой? На логику плевать, логика исполняется <10% времени. Оптимизировать логику "выбором энергоэффективного языка" принципиально бесполезно (кто не согласен — тому срочно чинить матаппарат).
Snusmumriken
Пардон, есть одна область, где от "+20% энергоэффективности логики" что-то да зависит, микроконтроллеры с батарейкой. Пихать в них луа и прочие скрипты (кроме мб forth) — извращение по дефолту.
fgntfg
Там где нужна ультиматианая энергоэффективность, там чистый assembly, плисы и алушки, а не вот это вот всё
Snusmumriken
А до этого, проще купить лишний сервер и влепить в него миллиард памяти, чтобы очередному жава-монстру было вольготно.
ShadoWalkeR
Скорей пытаются экономить на спичках
Oleg
Скорей пытаются экономить на спичках
Ещё проще. Поиск дешёвого хайпа.
Oleg
Эколухи давно пытаются продвигать в жизнь псевдо полезные инициативы.
ShadoWalkeR
Вспоминается история про то как сделали аналог юнити на 3м гноме, помоему, и внезапно выяснилось, что если не использовать 200 кадров анимации на иконке, то она выглядит не такой плавно, но кратно меньше начинает жрать ресурсов и тормозить
ShadoWalkeR
Ну и что дизайнеров нельзя подпускать к реализации проекта
Luсky
Эколухи давно пытаются продвигать в жизнь псевдо полезные инициативы.
Лучше бы они конкурс среди себя устроили "Кто сильнее гомосексуалист"
Oleg
Есть масса способов бороться за экологию. Покупать долговечную ремонтопригодную технику например. Или не лететь на самолёте если есть возможность. Пользоваться общественным транспортом и великом. Да хотя бы не майнить крипту. Не хранить данные в облака. Не использовать онлайн сервисы для музла и фильмов. ;)
Luсky
Суть в том, что экошиза компрометирует в глазах обывателя экологию, как таковую.
Snusmumriken
О, кстати на тему крипты: "Наш майнер написан на самом экологичном яп, майните экологично". Каеф.
Luсky
Тащемто из-за маски экошизы торчат уши капиталистов, которым экологическая экспертиза, как серпом по мошне.
Snusmumriken
Суть в том, что экошиза компрометирует в глазах обывателя экологию, как таковую.
У экологии на текущий момент есть два направления: 1. Экошиза "вы душите наших детей, они сдохнут в муках от удушения вашими газами, срочно запрещаем дезодоранты"; 2. Бизнес "оболочки наших зарядок сделаны из разлагаемого говна и превращаются в труху при трогании руками, поэтому вы будете покупать новую зарядку за $30 каждые пол года ибо старой пользоваться уже невозможно" и "мы не будем класть зарядку и аккумуляторы в базовую комплектацию, покупайте их отдельно, за повышенный прайс ибо drm+экология".
Snusmumriken
Не, не. Бизнес просто пытается выдавить максимум из концепции, чтобы максимально "красиво" и бесконечно давить бабосеки под соусом экологии.
Luсky
А экоэкспертиза например не даёт разрешение на строительство свинофермы близко к водоёму.
Luсky
У мну одна из учениц с двумя вышками - по ландшафтному дизайну и архитектуре. Рассказывает много интересного.
Andrey
Всем привет! Коллеги нет ли у кого под рукой метода транслитерации с русского на латиницу. Самому не охота велосипед изобретать, просто скопипастить и забыть. Если не жалко.
Andrey
да хоть просто все буквы поменять по алфавиту. не зависимо от кодировки
Andrey
ладно, сам напишу
Igor
Стандартные lua-методы как раз очень завязанв на кодировке входного текста
Andrey
Игорь, gsub умеет находить русские буквы в той же кодировке что и файл с кодом
Andrey
я просто например не знаю как перевести твердый знак или букву Ы
Igor
Проблема возникнет всё равно. Потому что русские буквы - двухбайтовые в той же utf-8.
Igor
А обычные символы однобайтовые
Igor
та же конструкция gsub('.', function(s) end) будет в s записывать ПОБАЙТОВО, а не ПОБУКВЕННО
Igor
Если будет использоваться однобайтовая кодировка, то ещё ладно, куда ни шло. Но я, к примеру, не признаю какие-то кодировки помимо utf-8))
Igor
я просто например не знаю как перевести твердый знак или букву Ы
А вот тут, кстати, от контекста использования уже зависит. Так что надо предыдущую букву перед твёрдым/мягким знаком или ы смотреть.
Igor
Можно поворовать из жсной библиотечки вот этой методы
Igor
https://github.com/greybax/cyrillic-to-translit-js/blob/master/CyrillicToTranslit.js
Andrey
Igor
Кодировка какая по итогу? Двух/однобайтовая?
Igor
Потому что как ни крути это играет очень большую роль
Andrey
кодировка зависит от контекста на клиенте латин 1 на сервере utf-8
Igor
Так работать будет, естественно, но куча вызовов gsub уже получается говнокод какой-то, плюс маленькие буквы не будут затрагиваться. В итоге бы будем иметь 66 вызовов к функции gsub даже для строчки с одним символом.
Andrey
и скрипт всегда в той кодировке 66 вызовов всегда, да
Andrey
но это меня не смущает
Andrey
там не хайлоад дай бог раз в час будет вызываться)
Igor
Andrey
Спасибо!
Igor
Мог где-то ошибиться при написании правил, только что сделал по картинке выше, наспех. Проверьте на всякий случай буквы все.
Andrey
Спасибо, я примерно так и предполагал!
Andrey
возможно еще кому то понадобится
Igor
Ну и хорошо
Snusmumriken
Для таких приколов по хорошему нужен gsub с поддержкой utf-8, на чистом lua сложновато будет.
local utf8char = "[\1-\x7F\xC2-\xF4][\x80-\xBF]*" local translit = { ["А"] = "A", ["Б"] = "B", ["В"] = "V", ... } text = "Фыва олдж" text:gsub(utf8char, translit) Эта хрень быстрее в миллиард раз, хотя суть в целом та же.
Andrey
local utf8char = "[\1-\x7F\xC2-\xF4][\x80-\xBF]*" local translit = { ["А"] = "A", ["Б"] = "B", ["В"] = "V", ... } text = "Фыва олдж" text:gsub(utf8char, translit) Эта хрень быстрее в миллиард раз, хотя суть в целом та же.
Спасибо! Все было хорошо но тут пришел Snusmumriken написал страшную и неведомую но рабочую регулярку и всем стало стыдно за некомпетентность)