Дима
Лоол
Дима
Ты не поверишь 😂
Rafael 🌵
наес, я так понял что мое с `third` вообще the best?
Дима
Я косякнул) Сейчас заапдейчу)
Rafael 🌵
а в чем косяк?
Ivan
@Fl0pZz на первый взгяд мне твой показался более производительным
Дима
Ага
Дима
По ходу не косяк) Интересный подход
Дима
а в чем косяк?
Я тебе селектор не поменял, я чуть-чуть изменил тестируемый массив. но рзультаты не поменялись)
Дима
А, ну так у тебя же мутабельно
Дима
поэтому и быстро
доня.
если вдруг кто-то не видел, вброшу: https://quokkajs.com/
Rafael 🌵
А, ну так у тебя же мутабельно
ну да, только исходный ммассив не мутирую
Rafael 🌵
вообще я не понял, чем больше тем лучше или как?
Дима
Нет, число — это время выполнения
Дима
Примерно в мс, точный порядок не знаю. Дважды взята медиана, чтобы получить самое усредненное значение
GG
https://repl.it/JVYj/5
вот мой вариант)
GG
улучшил. Убрал одно условие на каждой итерации https://repl.it/JVYj/16
Rafael 🌵
сильно просядет
GG
почему?
GG
что там
Rafael 🌵
потому что ты используешь array, без выделения всей памяти
Rafael 🌵
в итоге у тебя реалокаций будет много
Rafael 🌵
ну и includes конечно
Rafael 🌵
это поиск O(n) на каждой итерации, против моих о(1)
Дима
Да
GG
да, ты классно придумал, ставить ключи, одинаковые переназначаються. супер идеа!)
Дима
Наконец то я нашёл точку, когда мой вариант начинает обгонять первоначальный)) Как я и говорил, при больших данных. Но он всё равно на третьем месте 😂
Дима
https://repl.it/JWPX/6
GG
https://repl.it/JWPX/6
страшно 👀
Дима
Сделал нормальный конфиг. Убираются дупликаты из массивов в шесть тысяч элементов (длина массива трижды), так что результаты слегка нагружают комп)
Дима
страшно 👀
Я бенч вынес в функцию, чтобы его свернуть можно было
Sergey
Я бенч вынес в функцию, чтобы его свернуть можно было
у меня браузер после запуска завис (
Дима
Жди
Дима
👀
GG
)
Rafael 🌵
)
я охуенен
Oleg
А у меня другие результаты
Дима
Oleg
Native Browser JavaScript { ivan: 2870000, bias: 644999, rafael: 40000, sergey: 1427500 } => undefined
Дима
Естественно, порядок цифр зависит от компьютера
Oleg
Вот оно что
Oleg
Ну я в середину этого сореврнования зашел
Sergey
Я чет тоже хотел поучаствовать А мне лень...
Oleg
А на какую тему спор то?
Oleg
Что вычисляется?
Rafael 🌵
А на какую тему спор то?
фильтрация массива объектов
GG
сортировка уникальных
Anonymous
Спасибо, ребята (i5-6400)
Дима
как отфильтровать одинаковые val
Дима
Спасибо, ребята (i5-6400)
Вычислений ДОФИГА)) Я сразу предупредил же 😄
Oleg
Попробовать чтоли тоже...
GG
Спасибо, ребята (i5-6400)
зачем вообще полез!
Rafael 🌵
сортировка уникальных
погоди, так сортировка или фильтрация?
Oleg
Какие входные-выходные там?
GG
уник
Rafael 🌵
Какие входные-выходные там?
const arr = [ { val: 'A' }, { val: 'B' }, { val: 'C' }, { val: 'B' }, { val: 'D' }, { val: 'C' }, { val: 'B' }, { val: 'D' }, { val: 'C' }, { val: 'B' }, { val: 'D' }, { val: 'C' }, { val: 'X' }, { val: 'A' }, ];
Oleg
А в результате должны быть только уникальные?
Rafael 🌵
да
GG
Дима
А в результате должны быть только уникальные?
{ nested: { val: Number } } Оставить по уникальному значению val.
Дима
Мне просто лень было буквы генерировать
Oleg
А вот тут уже не понял
Дима
Пиши как понял, я у всех исправлял 👀 Список объектов такого формата с вложенным полем (чтобы селекторы побольше времени занимали), каждое значение этого поля должно встречаться максимум один раз
Ivan
Я слил со своими лишними проходами по аккумуляторам. У @Fl0pZz самое быстрое и как мне кажется понятное решение.
Rafael 🌵
и кстати отчасти имутабельное
Rafael 🌵
потому что исходный массив не мутируется, элементы - тоже
Oleg
Так, ну у меня получилось что-то
Oleg
А как замерить?
Oleg
Правда не уверен что самый быстрый способ, но да ладно, надо же писюнами померяться :D
GG
покаж что получилось
Дима
https://repl.it/JWPX/9