Fork me on GitHub
#clojure-russia
<
2016-06-08
>
seryh09:06:17

эм, а как можно сделать (deref ...) от коллекции, чтобы заблокировать тред до момента пока не выполнятся все обещания из этой коллекции например?

prepor10:06:02

(mapv deref coll)?

seryh10:06:20

точно mapv

mike_ananev13:06:00

Привет всем! Как думаете, в этой связи http://www.opennet.ru/opennews/art.shtml?num=44564 clojurescript + core.async смогут дать дополнительный импульс для перехода в экосистему clojure? По идее "у нас все готово" для многопоточных сред.

artemyarulin13:06:39

дак пажди - этож чисто как лиса вкладки рендерит просто?

Несмотря на попытки использования многопоточности и вынос за пределы основного цикла обработки событий выполнения таких операций, как декодирование изображений, видео и звука, осуществление сетевых операций и ввода/вывода, по-прежнему остаются однопоточными подсистема DOM (Document Object Model), функции формирования содержимого окна, парсинг HTML и выполнение JavaScript, т.е. для обработки может быть задействовано только одно ядро CPU.
многопоточный костыль в виде вебворкеров уже есть и кор.асинк уже облегчает все это дело но там обрезок. А когда полноценный жс в многопочность придет еще хз хз

potapenko13:06:39

хм, а как это работает интересно в RN? там JavaScriptCore… там с воркерами все как бы в порядке.

artemyarulin13:06:01

ну JSCore там другое - оттуда вылезти и нормальные треды заюзать не проблема (что в принципе и происходит). Но JS все равно в одном потоке. Хотя кста можно нескольно инстансов JSCore поднять

savelichalex14:06:28

@artemyarulin: это как? есть чтиво?

savelichalex14:06:42

и как между этими инстансами общатся

artemyarulin14:06:50

а такого вопроса не было 😄

savelichalex14:06:34

ну выглядит то интересно)

potapenko14:06:36

> и как между этими инстансами общатся по сокету 🙂

savelichalex14:06:59

латенси на сокет)

savelichalex14:06:14

вот если бы разделяемая память, а так...

artemyarulin14:06:19

Вот здесь ссылка на старую презентацию от аппла по JSCore https://github.com/artemyarulin/JSCoreBom#how-does-it-work и в этом же репо можно посмотреть как работать с ним напрямую

artemyarulin14:06:07

RN работет также как в презентации и написано

potapenko14:06:54

шаред мемори тоже не сильно круто. Вообще во флэше этот путь прошли уже давно - там там такая штука есть - LocalConnnection. Чтобы могли разные флэш-плееры общаться.

potapenko14:06:42

Я лет пятнадцать назад написал смешную либу - LocalNet для флэша. Можно такое для JS сделать.

mike_ananev17:06:44

кто-нибудь знает либу, которая умеет делать select'ы к сложным вложенным структурам данных clojure?

mike_ananev18:06:13

похоже. будем посмотреть ее. спасибо!

artemyarulin19:06:33

тока счас вспомнилось золотое правило (не помню где прочитал): Если есть древо-видная структура данных - то зипперы это ответ, хотя для обычных мап мне не приходилось ее юзать

asolovyov19:06:39

а никто не посоветует нормальный инфинит скролл для реакта? который бы менеджил дом объекты, такое всякое?