Alexander
а может есть какие-то нормальные способы, ну кроме как этот ущербный itertool юзать? или целиком своё что-то писать месяц.
Tuntz
Чем тебе itertools не нравится?
Tuntz
Тем что кривая структура GroupBy?
Alexander
ну в данном случае да
Tuntz
Так создай issue на гитхабе - пофиксят
Alexander
может можно какой-то collect в пару заюзать ? без itertool
Маjко
fold
Tuntz
collect собирает контейнер, а не творит магию и телепатию
Alexander
я видео _видео_ в инете, как коллект собирали в пару для подсчёта word count, хз как работает, просто в уголке памяти зацепил
Alexander
или в хеш что ли собирли
Alexander
собирали
Tuntz
[citation needed]
Маjко
https://play.rust-lang.org/?gist=435959da0bc5171de351da4474b0d4b8&version=nightly&mode=debug
Маjко
или в хеш что ли собирли
Ты скорее всего видел как кортежи из 2 элементов собирали в HashMap
Alexander
ну да, думаю оно
Alexander
не, вот поражает, кортежи в hashmap реализовали, а группировку простую не осилили
Маjко
Да есть группировка, бож
Маjко
Чем группировка отличается от коллекта в hashmap, в сущности?
Alexander
ну теоретичски последовательность можно сохранить
Alexander
ну это побочное
Маjко
Ну отгруппировать без сохранения не выйдет энивей
Alexander
но в общем ясно. надо сначала хеши допилить хотя бы, потом уже за группировку браться, потом векторные операции, глядишь через 20 лет и можно на расте писать будет нормально :)
Маjко
Можт присоединишься к primitivemap? Вдвоем быстрее закончим
Alexander
ну специализацию.
Alexander
ну я с радостью, но я хотел специализации запилить, а ты больше для embedded
Маjко
Одно другому не мешает
Маjко
Эмбеддед то в сущности только втипах данных
Маjко
Хэши они и там и там одни
Alexander
я phashmap написал - свою примитивный хеш для 0.75 load factor, так он тормозит дико, надо разобраться сначала
Alexander
как он по скорости догонит indexmap, то я хочу запилить специализацию, где для примитивов как раз твой primitivemap и будет.
Alexander
ну у меня такой план был.
Маjко
Мне сейчас нужна поддержка std::Hasher и сообтветственно Key: std::Hash в ключах, чтобы расширить поддержку типов и сделать нормальные бенчи в сравлении с indexmap
Маjко
Иначе читерство
Маjко
Если захочешь — буду рад, времени сейчас мало чтоб пилить
Маjко
А над std::Hasher уже и специализации для примитивов делать
Alexander
я как только, так сразу :) пока даже своё не успеваю
Маjко
Ща кстати время есть чутка
Маjко
Сделаю ка я бенч knuсleotide на своей либе)
Alexander
но оно кстати и очевидно почему не успеваю - если группировку в 20 строк писать и 20 минут вместо 2 минут, не удивительно, что времени нет.
Маjко
Это ты в хэшер группировку такую делаешь?
Alexander
кстати, почему-то мой коммит не обработали, но там новые уже появились rust#7, которые не юзают типы как я, но уже обогнал прошлый вариант.
Alexander
ещё вопрос: почему println! всё в utf-16 плюёт? можно как-то глобально всё под utf-8 переключить?
Маjко
Почему ты решил, что он плюет utf-16?
Alexander
ну у меня в проге два простых println! простых чисел, потом открываю в vs.code и там utf-16 написано
Alexander
при том, что открыть в utf-8 - не выходит - фигня какая-то сразу
Маjко
Должон utf8
Маjко
Во всяком случае на линуксах
Alexander
у меня win, да, может в этом, но хз почему
Маjко
Бля
Маjко
Перепишу всё к хуям
Маjко
Интерфейс такое неюзабельное дерьмо
Маjко
Пиздец
Маjко
Понял когда начал интегрировать в knucleotide
Alexander
эээ, так там всего же одна функция нужна по сути
Alexander
типа mut ref возвращает или insert делает. я entry поленился пока сделать, но и без него всё норм
Маjко
Да это как раз не проблема)
Маjко
Проблема в том что у меня пиздец с итераторами (всё же) И с передачей мапы в ф-ю Короче, надо думать... Видимо придется перестать выебываться с генериками...
Alexander
хз что там перемудрить можно, вроде в indexmap всё просто, ну и остальные так же выглядеть должны :)
Маjко
Бля, ну загляни в код — узнаешь, что там можно перемудрить
Маjко
Я перемудрил всё, что можно было.
Маjко
В индексмап кстати всё нихера не просто, но уже на уровне алгоритма
Loyd
ведь очевидно что group_by должен итератор выдавать? Разве нет ?
Как так группировку без аллокации сделаешь?
Loyd
Тебе чтобы группу получить, нужно весь итератор потребить
Loyd
И это везде так. В твоём примере sql-ном тоже промежуточная таблица будет
Loyd
Тогда будет квадратичная сложность
Ilia
Можно групировать как питон xD
Vitaly
Коллеги, накатал прокси для телеги, если интересно код(без коментариев) посмотреть - вэлкам. https://github.com/dotcypress/mtproxy
Alexander
И это везде так. В твоём примере sql-ном тоже промежуточная таблица будет
Так это понятно. Т.е. я всегда могу быть уверен что итераторы в расте без аллокаций?
Sherzod
Я человек простой, вижу репо на расте, ставлю звездочку!
Bugworm
Loyd
Так это понятно. Т.е. я всегда могу быть уверен что итераторы в расте без аллокаций?
По-разному написать можно. Но в std аллокаций в итераторах нет
Bugworm
Чтобы сам ставил, ну или чтобы находил и ставил
Sherzod
Бота напиши тогда, чего мелочиться
чтоб звездил автоматом?
Berkus
https://medium.com/@iopguy/fizzbuzz-can-finally-be-implemented-in-stable-rust-87649a882f2d прелестно
Invictus
Тащмайор, ну куда вы. Это не канал про вещества, мы приличные люди.
доня.
@edmand46 добрый день