Pavel
это треккер торрентов - им некогда менять в сайте ) div -они от блокировок бегают.
Pavel
за год ничего не меняли в структуре
Pavel
вот добавление нового - это да плюс
Tverd
Кто хочет заработать? Люди готовы платить за биндинги к Godot
I'll donate $1000 if someone has a working and fully documented binding for Lua.
Tverd
https://godotdevelopers.org/forum/discussion/18552/if-someone-make-a-binding-to-luajit-for-godot-i-throw-a-lot-of-dollars-to-his-face
Elias
Это довольно немного для такого проекта, на самом деле. Особенно учитывая то, что он просит полную документацию, ага 😂
Tverd
Дык никто и не говорит что этого на всю жизнь хватит ))))) Подзаработать )
Tverd
К тому же реализованы биндинги к питону и ниму, думаю что не сильно сложно это реализовать для луа
Elias
Возможно 🤔
Самое страшное - возьмешься за это, а какой-нибудь индус или китаец за пару недель напишут...
Snusmumriken
Хех, неплохо. И на самом деле не очень сложно, просто очень муторно.
Elias
Ага, вот то, что это займет очень много времени отталкивает в первую очередь.
Vitaly
Привет! Может кто ткнуть на алгоритм для deep merge двух таблиц?
Anonymous
Заипало это навязывание яндекс-браузера. ФСБшный проект какой-то
Georgy
попробуй Кок-Кок
mihacooper [МСК -2]
Anonymous
Elias
Скачивай страницы через wget и читай в emacs
Elias
😂😂
Референс к тому, что Столлман как-то писал, что он так делает.
Aiwan \ (•◡•) / _bot
Snusmumriken
Тебе на pure-lua или ты можешь написать ffi-биндинг?
Snusmumriken
Блин, на самом деле где-то болтался, но глубоко закопан: копипастил код пачками, смотрел что работает.
Roman
А насколько дорого пересечение ffi?
Snusmumriken
Цена - отрицательна. Нужно только иметь нужную виртуальную машину/расширение.
Roman
Snusmumriken
Колбеки - небесплатные и довольно медленные, но тебе их надо использовать раз в тыщу лет под очень специфические вещи.
Roman
мои наблюдения в pypy говорят о том же: 40ns vs 53ns на вызов ф-ии
Snusmumriken
Хмм. Лады.
Roman
Snusmumriken
Колбеки? Ты знаешь что это в данном контексте?
Snusmumriken
Это вызов lua-функций на сишной стороне.
Типа знаешь? Передаёшь в сишную функцию указатель на луа-функцию, и она там типа дёргается с некоторой периодичностью.
С какой частотой тебе нужно такое?
Roman
Snusmumriken
Вот именно.
Snusmumriken
Инициализация структур например.
Snusmumriken
Вызов функций чуть сложнее, потому что разные функции сами по себе с разной скоростью работают, ща подберу что-нибудь.
Snusmumriken
Второй варик, но он не очень корректен из-за медленности вывода в консоль.
Snusmumriken
Но в общем, суть ясна, надеюсь?
Вызов сишной функции вообще не даёт оверхеда, инфа сотка.
Функции стандартной библиотеки вызываются аналогичным образом.
Все table.insert и print - это сишные функции. Ffi делает биндинг других сишных функций (какие ты хочешь) в себя.
А вот сам по себе, сишный код быстрее, особенно на всяких deflate и прочих простых работах с буферами, поэтому цена - отрицательна.
Луа, при работе со строками, создаёт кучу новых строк в строковом буфере, строки в луа - иммутабельны.
А вот в сишке - простые массивы которые можно спокойно читать/изменять по одному символу. Прирост скорости чудовищный.
Миллионы вызовов в секунду? За милую душу.
http://luajit.org/ext_ffi.html
Roman
Roman
итого 2.0384938716888 0.34296894073486
Snusmumriken
Ты написал libadd? : )
Snusmumriken
Боюсь что такая разница как раз за счёт бешеной оптимизации luajit.
Оно трассирует байткод на разогреве, а сишные функции хреново трассируются, и всё равно разница небольшая.
Попробуй меньше раз вызвать, где-то 20к раз, чтобы не успело разогреться )))
Как альтернатива - впихни туда работу со строками/таблицами.
Snusmumriken
Ты бы почитал хотя бы как оно работает, всяко знать больше будешь.
Лучше - в сурцы загляни.
Snusmumriken
P.S. Ты в сишные функции собрался пихать одно действие или сразу пачку?
Попробуй найти любой pure-lua-deflate и сравнить разницу с биндингом.
В биндинге будет прирост в пару сотен раз минимум даже внутри самого luajit.
Group Butler [beta]
Hi کوثر!
Snusmumriken
И чего? Какие-то проблемы?
Vsevolod
Вызов функции через ffi делается за 10 нс, если там нет char* -> lua string
Vsevolod
Без ffi - сотка
Vsevolod
То есть, для каждого типа данных могут быть свои расходы
Vsevolod
Userdata через стандартный plain lua - это очень дорого: взять метатаблицу, извлечь заданное поле, сравнить стррки
Vsevolod
Ад и Израиль, блин
Roman
Snusmumriken
Ох. Вы понимаете что есть ещё время, которое сама функция (луёвая или сишная) тратит на исполнение себя?
В идеале, стоит сделать несколько вариантов:
1. Тест чисто сишной функции
2. Тест чисто луёвой функции, которая делает то же самое
3. Тест вызова сишки из луёв
И всё это, в идеале, без luajit и с ним.
Но сложная работа с буферами со стороны сишки всё равно гораздо быстрее чем ковырять их на луа-стороне, оверхед на конвертацию из/в lua-string ничтожна в сравнении с этим.
Group Butler [beta]
Hi Saracen!
Vsevolod
Мне тут стало интересно, насколько вариант с n раз lua_pcall хуже, чем если эти n вызовов зачейнить прямо в lua
Vsevolod
Проверю на днях
Group Butler [beta]
Hi Анатолий!
Group Butler [beta]
Hi Ivan!
Group Butler [beta]
Hi @kiss24bot!
Snusmumriken
Чего-чего?
Snusmumriken
Чего-чего-чего?
vvzvlad
X)
Snusmumriken
По крайней мере честно, знаете ли.
Anonymous
Я попробовал сейчас воспользоваться. Это не бот, а человек
Anonymous
Ссылку на бота даёт
Snusmumriken
Боты сейчас разные бывают.
Так как боты не могут самостоятельно присоединяться к чатам, особые кулхацкеры обманывают телегу, и делают ботов из клиентов телеграмма.
Anonymous
Я с ним общался, там реально человек)
Snusmumriken
Аналогично работают всякие прокси, например связки "скайп + телега" или "discord/slak + телега". Для них нужно резервировать номер мобильного и всячески симулировать человеческую активность, но он всё равно может быть ботом.
Воу, на самом деле это мало что значит. Сейчас - человек, когда человек не может отвечать - отвечает бот.
Anonymous
А так, хорошая мысль - сделать бота в attended режиме, на сложные вопросы - вручную отвечать
Anonymous
Snusmumriken
api клиентов тележки легко выковыривается из apk.
И ничего они с этим не сделают, java-smali никак не защитить, разве что обфускацией :<
Vsevolod
а что с этим сделать?
Vsevolod
там же все равно тель-афон нужен
Snusmumriken
Человеко-бота.
Номер телефона - фигня. Покупаешь пучок симок за пятачок в переходе у Ашота.
Anonymous
У них возможно даже сорцы апк где то валяются
Anonymous
Телеграм же открытая софтина, кажется
Snusmumriken
Не совсем.
Saphire