
Oleg
11.07.2017
09:05:15
Правда не уверен что самый быстрый способ, но да ладно, надо же писюнами померяться :D

Sergey
11.07.2017
09:05:18
покаж что получилось

Дмитрий
11.07.2017
09:05:42
https://repl.it/JWPX/9

Google

Oleg
11.07.2017
09:06:24
Предупреждаю - я долго не думал и не оптимизировал особо :D
https://repl.it/JWPX/10

Rafael
11.07.2017
09:06:56
заразно тут с вами сидеть, мне еще работать надо!
а вот на больших я опять выйграл!

Oleg
11.07.2017
09:08:29
Нужны замеры

Rafael
11.07.2017
09:08:42
вот из-за этого, прикинь если фильтровать будет нечего? ты на каждой итерации будешь добавлять элекмент в массив, выделенная память кончается - уходим на реалокацию

Oleg
11.07.2017
09:14:29
Так добавляется же только уникальный
Или про что ты?
А, или про то что типа если там и не было неуникальных то?
Если можно менять исходный массив - можно в нем тогда всё черное дело делать

Rafael
11.07.2017
09:16:10

Oleg
11.07.2017
09:16:27
Ну тут если просто в лоб смотреть то увы, страдать

Google

Rafael
11.07.2017
09:16:28
мне просто интересно насколько это быдет быстрее или медленнее

Oleg
11.07.2017
09:16:43
Если же можно менять исходный массив - уже иначе может быть

Rafael
11.07.2017
09:17:10
еще можно через Map, из которого потом массив вытянуть

Дмитрий
11.07.2017
09:19:13
https://repl.it/JWPX/12

Oleg
11.07.2017
09:19:23
Можно ещё извращенский алгоритм когда мы сохраняем в переменной сдвиг, итерируемся по всем элементам, находя одинаковый - удаляем его, переходя на следующий - двигаем вбок, если нашли уже 2 тех что были одинаковы - сдвиг на 2, если дошли до конца - удалять

Rafael
11.07.2017
09:19:35

Сергей
11.07.2017
09:20:00

Oleg
11.07.2017
09:20:05
О, да я топ 2

Rafael
11.07.2017
09:20:40

Oleg
11.07.2017
09:21:59
Кстати, если поменять мои переменные с var на const и let - медленнее исполняется. Аее, всегда это знал, теперь убедился ещё больше.
Замыкание для фора создается лишнее.

Rafael
11.07.2017
09:22:18

Andrey
11.07.2017
09:22:21

Oleg
11.07.2017
09:22:34
Было 140к, стало 155к
С другой стороны это не про это бенч

Rafael
11.07.2017
09:24:43

Google

Rafael
11.07.2017
09:24:53
у тебя же var хостится, а let - нет

Oleg
11.07.2017
09:25:03
Вот
Чтобы лет был - нужно подзамыкание создавать
А для var оно не создается

Rafael
11.07.2017
09:25:23
угу

Oleg
11.07.2017
09:25:33
У меня var
Если менять на лет и конст - падает производительность

Rafael
11.07.2017
09:25:52
ну ты так же и с let мог бы переменную заранее объявить
вне цикла, а потом for (myLet in myArr)

Oleg
11.07.2017
09:26:15
Надо замерить

Andrey
11.07.2017
09:26:49

Rafael
11.07.2017
09:27:01

Rafael
11.07.2017
09:27:14
с let переменная на каждой итерции создается
это по спекам так должно быть

Дмитрий
11.07.2017
09:27:35
https://repl.it/JWPX/13

Oleg
11.07.2017
09:27:36
В общем как-то слишком разные цифры всегда, нельзя по этому бенчу совсем точно сказать

Andrey
11.07.2017
09:27:40
не будет
Ну типа проверка на объявление и всё такое.

Дмитрий
11.07.2017
09:28:03
У себя я прогоняю на сильно увеличенной сложности и размере, так что на скрине будет точнее)

Rafael
11.07.2017
09:28:45
а не, хотле чтобы был вывод, где лучшее решение дает 1, а все остальые во сколько раз медленее

Google

Дмитрий
11.07.2017
09:29:16

Rafael
11.07.2017
09:29:32

Denis
11.07.2017
09:29:53
Кто нибудь видел плагин scroll parallax, чтоб можно было добавлять несколько слоев и указывать в какое направление двигать тот или иной слой?

Andrey
11.07.2017
09:30:17

Rafael
11.07.2017
09:30:56
хотя можно по спекам проверить

Andrey
11.07.2017
09:31:16

Admin
ERROR: S client not available

REWHEX
11.07.2017
09:31:39
люди, можете помочь, я получаю обложку аудио файла из id3 тегов, получаю я ее в виде массива, массив может быть огромным смотря сколько цветов в обложке, дальше в for я этот массив собираю в base64 строку, и вывожу в приложении, но это может занять очень много времени, некоторые большие обложки аш по 4 секунды тормозят дальнейшее исполнение кода, посоветуйте, что можно с этим сделать?

Кирилл
11.07.2017
09:31:54
да, интересная фича, жалко что npm 5 работает через жопу

Rafael
11.07.2017
09:34:53

Andrey
11.07.2017
09:35:30

Rafael
11.07.2017
09:37:53

Boris
11.07.2017
09:38:30
fe

Oleg
11.07.2017
09:41:52
Хотел переписать пример на мапах
А этот репл не умеет мапы...

Дмитрий
11.07.2017
09:42:11
https://repl.it/JWPX/14

Oleg
11.07.2017
09:42:15
В консоль как минимум выводить

Google

Oleg
11.07.2017
09:43:01
Я сейчас кое-чего доработаю, может быстрее выйдет :D

Дмитрий
11.07.2017
09:43:23

Rafael
11.07.2017
09:43:44
??

Дмитрий
11.07.2017
09:44:52
Бтв, заметьте, насколько я оптимизировал первоначальное иммутабельное решение)

Rafael
11.07.2017
09:45:20
ну хотяб во сколько раз

Дмитрий
11.07.2017
09:45:58
Было медленнее чем у ивана на четверть

Rafael
11.07.2017
09:46:11
не плох, не плох??

Дмитрий
11.07.2017
09:46:22
При том, что у него один иммутабельный массив, а у меня два)

Rafael
11.07.2017
09:46:57
я попробовал свое решение улучшить - но так и не придумал как это сделать
можно конечно сделать через цикл, но тогда потеряется вся изящность решения
жаль SIMD не поддерживается
вечером если время будет, надо будет попробовать этоже на wasm переписать
ведь по сути последний как раз для этого и сделан

Oleg
11.07.2017
09:59:42
Не буду допиливать дальше
В целом же не ожидал от редюса такой проворности, крутое решение
?

Sergey
11.07.2017
10:11:42

andretshurotshka?❄️кде
11.07.2017
10:11:52
лол

Rafael
11.07.2017
10:12:19