
Sergey
11.07.2017
07:14:15
я даже не знал о нем

Ivan
11.07.2017
07:15:01
Я знал только про .every, про .some сам только узнал

Sergey
11.07.2017
07:16:34
запишу твой пример, себе на гист
а то потом забудиться, как понадобиться)

Google

Дмитрий
11.07.2017
07:29:59
https://repl.it/JWPX/1
Более общий подход и без многократного преобразования одних и тех же элементов)

Rafael
11.07.2017
07:34:03

Дмитрий
11.07.2017
07:34:22

Rafael
11.07.2017
07:35:01

Дмитрий
11.07.2017
07:35:30
А в оригинале не спред?))

Rafael
11.07.2017
07:35:45
а точно

Дмитрий
11.07.2017
07:36:07
Ну не оригинал, а человек выше версию выложил

Rafael
11.07.2017
07:36:11
кек, я как то эт из виду упустил?

Дмитрий
11.07.2017
07:36:34
При усложнении условия выборки проход по всему массиву с преобразованием на каждом элементе будет значительно медленнее
Поэтому буферный массив мета-данных

Google

andretshurotshka?❄️кде
11.07.2017
07:46:49

Rafael
11.07.2017
07:51:14
а вот мое:
https://repl.it/JWPX/2
может есть те, кому не лень проверить производительность всего этого?

Дмитрий
11.07.2017
08:03:55
Проверяю сейчас)

Rafael
11.07.2017
08:04:23
если проверяешь на каком-нибудь repl.it то закинь ссылочку

Дмитрий
11.07.2017
08:26:22
Лоол
Ты не поверишь ?

Rafael
11.07.2017
08:27:52

Дмитрий
11.07.2017
08:28:05
Я косякнул) Сейчас заапдейчу)

Rafael
11.07.2017
08:30:32
а в чем косяк?

Ivan
11.07.2017
08:31:42
@Fl0pZz на первый взгяд мне твой показался более производительным

Дмитрий
11.07.2017
08:31:47
Ага
По ходу не косяк) Интересный подход

Rafael
11.07.2017
08:32:12

Дмитрий
11.07.2017
08:32:19
а в чем косяк?
Я тебе селектор не поменял, я чуть-чуть изменил тестируемый массив. но рзультаты не поменялись)
А, ну так у тебя же мутабельно
поэтому и быстро

Даниил
11.07.2017
08:33:10
если вдруг кто-то не видел, вброшу: https://quokkajs.com/

Google

Rafael
11.07.2017
08:33:35
вообще я не понял, чем больше тем лучше или как?

Дмитрий
11.07.2017
08:34:01
Нет, число — это время выполнения

Rafael
11.07.2017
08:34:18

Дмитрий
11.07.2017
08:34:34
Примерно в мс, точный порядок не знаю. Дважды взята медиана, чтобы получить самое усредненное значение

Sergey
11.07.2017
08:40:53
улучшил. Убрал одно условие на каждой итерации
https://repl.it/JVYj/16

Rafael
11.07.2017
08:43:06
сильно просядет

Sergey
11.07.2017
08:43:27
почему?
что там

Rafael
11.07.2017
08:43:46
потому что ты используешь array, без выделения всей памяти

Rafael
11.07.2017
08:43:56
в итоге у тебя реалокаций будет много
ну и includes конечно
это поиск O(n) на каждой итерации, против моих о(1)

Дмитрий
11.07.2017
08:46:06
Да

Sergey
11.07.2017
08:46:39
да, ты классно придумал, ставить ключи, одинаковые переназначаються. супер идеа!)

Дмитрий
11.07.2017
08:46:43
Наконец то я нашёл точку, когда мой вариант начинает обгонять первоначальный)) Как я и говорил, при больших данных.
Но он всё равно на третьем месте ?

Rafael
11.07.2017
08:46:56

Дмитрий
11.07.2017
08:46:57
https://repl.it/JWPX/6

Google

Sergey
11.07.2017
08:47:20

Дмитрий
11.07.2017
08:47:46
Сделал нормальный конфиг. Убираются дупликаты из массивов в шесть тысяч элементов (длина массива трижды), так что результаты слегка нагружают комп)
страшно ?
Я бенч вынес в функцию, чтобы его свернуть можно было

Сергей
11.07.2017
08:48:34

Дмитрий
11.07.2017
08:48:39
Жди
?

Sergey
11.07.2017
08:49:14

Rafael
11.07.2017
08:49:30
я охуенен

Oleg
11.07.2017
08:49:48
А у меня другие результаты

Admin
ERROR: S client not available

Дмитрий
11.07.2017
08:49:57

Oleg
11.07.2017
08:50:02
Native Browser JavaScript
{ ivan: 2870000, bias: 644999, rafael: 40000, sergey: 1427500 }
=> undefined

Дмитрий
11.07.2017
08:50:16
Естественно, порядок цифр зависит от компьютера

Oleg
11.07.2017
08:50:27
Вот оно что
Ну я в середину этого сореврнования зашел

Сергей
11.07.2017
08:50:44
Я чет тоже хотел поучаствовать
А мне лень...

Oleg
11.07.2017
08:50:44
А на какую тему спор то?
Что вычисляется?

Rafael
11.07.2017
08:51:09

Sergey
11.07.2017
08:51:22
сортировка уникальных

Google

Artyom
11.07.2017
08:51:24

Дмитрий
11.07.2017
08:51:25

Сергей
11.07.2017
08:51:44
лол

Дмитрий
11.07.2017
08:51:52
Вычислений ДОФИГА)) Я сразу предупредил же ?

Oleg
11.07.2017
08:52:07
Попробовать чтоли тоже...

Sergey
11.07.2017
08:52:23
зачем вообще полез!

Rafael
11.07.2017
08:52:29

Sergey
11.07.2017
08:52:36

Oleg
11.07.2017
08:52:36
Какие входные-выходные там?

Sergey
11.07.2017
08:52:39
уник

Rafael
11.07.2017
08:52:54
Какие входные-выходные там?
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
11.07.2017
08:53:12
А в результате должны быть только уникальные?

Rafael
11.07.2017
08:53:17
да

Sergey
11.07.2017
08:53:25

Дмитрий
11.07.2017
08:53:55
Мне просто лень было буквы генерировать

Oleg
11.07.2017
08:54:22
А вот тут уже не понял

Дмитрий
11.07.2017
08:56:24
Пиши как понял, я у всех исправлял ?
Список объектов такого формата с вложенным полем (чтобы селекторы побольше времени занимали), каждое значение этого поля должно встречаться максимум один раз

Ivan
11.07.2017
08:58:58
Я слил со своими лишними проходами по аккумуляторам. У @Fl0pZz самое быстрое и как мне кажется понятное решение.

Rafael
11.07.2017
08:59:46
и кстати отчасти имутабельное
потому что исходный массив не мутируется, элементы - тоже

Oleg
11.07.2017
09:04:35
Так, ну у меня получилось что-то