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