Size: a a a

2021 June 01

ВО

Виталий Охримук... in Tarantool
вот как раз оказалось сложно
для быстрого преобразования использую bit.rshift
источник

ВО

Виталий Охримук... in Tarantool
не совсем понятно, как он него добиться unsigned
источник

AK

Alexey Kuzin in Tarantool
Быстрое гугление дало мне кучу реализаций на луа. Например вот https://scholzd.github.io/MoonGen/utils_8lua.html
источник

AK

Alexey Kuzin in Tarantool
Возьмите что вам нравится
источник

ВО

Виталий Охримук... in Tarantool
то есть получается все таки стороннее
я нашел lua-bit64, но думал что-то есть более типовое ил встроенное
спасибо
источник

YD

Yaroslav Dynnikov in Tarantool
c1, c2, c3, c4 = string.match(s, '(%d+)%.(%d+)%.(%d+)%.(%d+)')
return c1*256^3 + c2*256^2 + c3*256 + c4

сойдет?
источник

AK

Alexey Kuzin in Tarantool
Ну, надо бы проинициализировать сначала переменные ещё
источник

YD

Yaroslav Dynnikov in Tarantool
какие? s?
источник

AK

Alexey Kuzin in Tarantool
И чек какой-нить поставить на невалидный матч
источник

YD

Yaroslav Dynnikov in Tarantool
это был концепт
источник

DS

Dmitry Sharonov in Tarantool
источник

MA

Mons Anderson in Tarantool
Вам нужен ffi.C.inet_aton
посмотрите как из lua вызывать libC через ffi.
источник
2021 June 02

ВО

Виталий Охримук... in Tarantool
Видимо, это и есть то что нужно
спасибо
источник

ВО

Виталий Охримук... in Tarantool
умножение, степень  - это же дико медленно
источник

AB

Artur Barsegyan in Tarantool
Прямо уж дико?
источник

AB

Artur Barsegyan in Tarantool
На пару тактов дольше чем битовые сдвиги
источник

VG

Vladislav Grubov in Tarantool
вообще не факт, luajit оптимизнуть может. Здесь же умножение на степени двойки. К тому же, inet_aton возвращает BigEndian, и для разворачивания порядка байт нужно будет еще немного покрутиться на ffi.
я вчера немного бенчил, наивное решение с умножением примерно в 1.5 раза быстрее, но это примерно 0.3 микросекунды, учитывать их наверное не стоит
источник

ВО

Виталий Охримук... in Tarantool
а вот это уже интересно
источник

ВО

Виталий Охримук... in Tarantool
сейчас использую как раз битовые сдвиги, ожидается примерно 500 вызовов в секунду.
Не хотелось бы, чтобы тарантул все процессорное время тратил только на IP адреса
источник

VG

Vladislav Grubov in Tarantool
наивное решение дает 3М вызовов в секунду, вам хватит?
источник