Size: a a a

2020 May 03

AP

Anton Petrusevich in Modern::Perl
если перебирать не надо
источник

c

crux in Modern::Perl
Andrei Protasovitski
С другой стороны, на таких объёмах, возможно, будет быстрее, чем гонять данные по сети...
А текущий наколеночник не PP ?

Кроме того, что выше есть DBD::CSV, DBD::RAM, можно забенчить и выбрать
источник

c

crux in Modern::Perl
SQLite in-memory опять же
источник

AP

Andrei Protasovitski in Modern::Perl
На PP, конечно. Но там поиск только по ключу, нет поиска по диапазону.
источник

c

crux in Modern::Perl
Чет я тоже запутался уже, так хочется наколеночник, но шире, при этом наколеночник PP, но PP не очень, надо как в БД, но не БД и чтобы не писать ))
источник

AP

Andrei Protasovitski in Modern::Perl
Я посмотрю на in-memory вещи. Но мне не надо менять эти даные, это как набор констант.
источник

c

crux in Modern::Perl
ну не меняй ))
источник

AP

Andrei Protasovitski in Modern::Perl
Я ж говорю, я посмотрю на них. :)
источник

c

crux in Modern::Perl
PQL::Cache даже индексы какие-то пытается строить, судя по коду.
источник

c

crux in Modern::Perl
если будешь делать бенчмарк, поделись результатами )
источник

AP

Andrei Protasovitski in Modern::Perl
crux
если будешь делать бенчмарк, поделись результатами )
Если буду. :)
источник

IB

Ivan Bessarabov in Modern::Perl
Andrei Protasovitski
Скажите, а есть такой модуль, которому можно скормить массив массивов (вычитанный, например, из CSV или таблицы БД), а он мне сделает поиск по нужным мне полям и желательно по промежуткам? То есть, чтобы было что-то типа:
my $lookup = The::Module->new(
   table => $array_of_attays,
   index => [ qw/ field1 field2 / ],
);
my @rows_by_id = $lookup->get_by( field1 => 'vasya' );
my @rows_by_range = $lookup->search(
   field2 => {
       '>' => 10,
       '<=' => 15,
   }
);

Мне для чтения и хранения небольших неизменямых лукапов, пара тысяч строк максимум. Например, список стран, языков и т.п.
Я, честно говоря, даже не знаю, по какому слову искать на CPAN.
Можно и без перла. У базы данных clickhouse есть консольный режим, без создания базы. Можно скормирть csv и и делать селекты.
источник

DF

Denis F in Modern::Perl
Ivan Bessarabov
Можно и без перла. У базы данных clickhouse есть консольный режим, без создания базы. Можно скормирть csv и и делать селекты.
Кликхаус немножко не про то,  да и не маленький он
источник

a

allter in Modern::Perl
Andrei Protasovitski
Скажите, а есть такой модуль, которому можно скормить массив массивов (вычитанный, например, из CSV или таблицы БД), а он мне сделает поиск по нужным мне полям и желательно по промежуткам? То есть, чтобы было что-то типа:
my $lookup = The::Module->new(
   table => $array_of_attays,
   index => [ qw/ field1 field2 / ],
);
my @rows_by_id = $lookup->get_by( field1 => 'vasya' );
my @rows_by_range = $lookup->search(
   field2 => {
       '>' => 10,
       '<=' => 15,
   }
);

Мне для чтения и хранения небольших неизменямых лукапов, пара тысяч строк максимум. Например, список стран, языков и т.п.
Я, честно говоря, даже не знаю, по какому слову искать на CPAN.
Если я правильно понял задачу, то такая структура (для запроса с field2) - называется интервальное дерево (interval tree). Пара модулей по такому запросу гуглится, но не пробовал. Обычно в perl юзают СУБД (тем более, что эти интервалы, обычно, надо как-то администрировать), возможно кэшируя локально. Если нужно быстрее, то это всё же не для Perl задачка.
источник

AU

Alexey Ugnichev in Modern::Perl
Тогда попробую пальцем в небо, и тоже не пробовал:
https://metacpan.org/pod/CHI
источник

AU

Alexey Ugnichev in Modern::Perl
А, нужен поиск.
источник

МИ

Михаил Иванов... in Modern::Perl
Я один кому этот странный чел написал "Я Рассел из Австралии, как твои дела"? Спамер наверное.
источник

AR

Andrey Rachitskiy in Modern::Perl
Михаил Иванов
Я один кому этот странный чел написал "Я Рассел из Австралии, как твои дела"? Спамер наверное.
Не только тебе, Миша
источник

DF

Denis F in Modern::Perl
Михаил Иванов
Я один кому этот странный чел написал "Я Рассел из Австралии, как твои дела"? Спамер наверное.
Это спамер, он тебе через пару реплик предложит биток купить или ещё какую фигню
источник

МИ

Михаил Иванов... in Modern::Perl
дык, заблокировать его, у кого банхаммер
источник