Size: a a a

Clojure — русскоговорящее сообщество

2020 June 23

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Какую клёвую штуку энтузиаст сделал на CLJS https://slingcode.net - аля JSFiddle но в одном HTML-файле 😮
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Ммм
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Любой реактовый бандл можно так сделать)
источник
2020 June 24

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Я вот смотрю, что
(swap! mylistatom conj 123)

на порядок быстрее, чем
(send mylistagent #(conj % 123))


🤔 Получается, асинхронность будет быстрее синхронности только после определенных порогов времени выполнения заданной функции или после определенного количества потоков?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Асинхронность никогда быстрее не будет. Она всегда будет медленее.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ее основная задача разгрузить узкие места в приложении - чаще всего разнообразный ввод/вывод
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Есть конечно всякие супертяжелые вычислительные задачи которые можно распараллелить и они там вместо суток будут крутиться три часа, но это редкость.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Асинхронность или параллельность, запутали
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Откуда берутся мифы про то, что асинхронность быстрее?
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Круто звучит
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
от того, что результатом асинхронного вызова являются вычисления сделанные где-то в другом месте :)
источник

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Mikhail Borisov
Откуда берутся мифы про то, что асинхронность быстрее?
В сумме то понятно что не быстрее. Но если например мне нужно для каждого элемента массива скажем писать лог при дебаге, разве не логично писать лог асинхронно, чтобы он вносил минимальный вклад в время обработки массива?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Dima Fomin
В сумме то понятно что не быстрее. Но если например мне нужно для каждого элемента массива скажем писать лог при дебаге, разве не логично писать лог асинхронно, чтобы он вносил минимальный вклад в время обработки массива?
Логично, идеальным вариантом наверное было бы просто кидать все таски по логированию в одну очередь, которая будет разгребаться одним потоком. Только нужно помнить, что очередь и заполниться может)
источник

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Так вот я про то и говорю, по времени кинуть в очередь = send agent - дольше чем swap! Atom 🤔 на порядок. 0,30ms vs 0,03 у atom
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Dima Fomin
Так вот я про то и говорю, по времени кинуть в очередь = send agent - дольше чем swap! Atom 🤔 на порядок. 0,30ms vs 0,03 у atom
А в чем, собственно, задача?)
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Dima Fomin
В сумме то понятно что не быстрее. Но если например мне нужно для каждого элемента массива скажем писать лог при дебаге, разве не логично писать лог асинхронно, чтобы он вносил минимальный вклад в время обработки массива?
Асинхронность здесь — скорее про порядок выполнения. Типа функция ушла сразу, но обещала вернуться с ответом. Как оно будет считаться на самом деле мы не знаем.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Настоящая параллельность будет быстрее, но не строго в N раз, потому что оверхед на координацию
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Dima Fomin
Так вот я про то и говорю, по времени кинуть в очередь = send agent - дольше чем swap! Atom 🤔 на порядок. 0,30ms vs 0,03 у atom
Я не понимаю сравнения, вроде разные совсем по смыслу операции
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Если брать пример про логирование, каким образом мы меняем очередь на атом?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dima Fomin
Так вот я про то и говорю, по времени кинуть в очередь = send agent - дольше чем swap! Atom 🤔 на порядок. 0,30ms vs 0,03 у atom
А send-off?
источник