Size: a a a

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

2019 May 20

DD

Daniil Davydov in Clojure — русскоговорящее сообщество
например?
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Daniil Davydov
например?
Неплохо знать о существовании jmm.
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Но вообще это опционально
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Danila вот хороший вроде обзор
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
источник

DD

Daniil Davydov in Clojure — русскоговорящее сообщество
Alex Bubnov
Неплохо знать о существовании jmm.
Как вы можете кодить специально под особенности jmm, такие что переживут jit-оптимизацию?
источник

DD

Daniil Davydov in Clojure — русскоговорящее сообщество
это спецификация рантайма и предоставляемые апи, ваш юзер код не может вмешаться в его работу
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Daniil Davydov
Как вы можете кодить специально под особенности jmm, такие что переживут jit-оптимизацию?
Неплохо знать != использовать.
Например, вопрос "сколько стоит дереф атома" уводит как раз в jmm, прям ссылками в доке
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Daniil Davydov
это спецификация рантайма и предоставляемые апи, ваш юзер код не может вмешаться в его работу
архитектура компьютера и устройство ОС это тоже можно сказать "спецификация рантайма, в которую не может вмешиваться юзер код". но от необходимости знакомства с ними это не избавляет.
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
а если ты работаешь на уровне, где твое незнание прощается - ну, тут уже интересный вопрос, чем же ты таким занимаешься, не формошлепством ли
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Alex Bubnov
архитектура компьютера и устройство ОС это тоже можно сказать "спецификация рантайма, в которую не может вмешиваться юзер код". но от необходимости знакомства с ними это не избавляет.
условным 85% юзерспейс кодерам это не нужно, а если понадобится - можно разобраться ondemand
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
и не знаю, что хуже, формошлёпство или байтодрочерство
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
условным 85% юзерспейс кодерам это не нужно, а если понадобится - можно разобраться ondemand
ну ок, не нужно так не нужно.
источник

DD

Daniil Davydov in Clojure — русскоговорящее сообщество
мы не в ту степь ушли
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
и не знаю, что хуже, формошлёпство или байтодрочерство
потому что низкоуровневые архитектуры приходят и уходят, а алгоритмы остаются
источник

DD

Daniil Davydov in Clojure — русскоговорящее сообщество
ваш очень умный код после jvm оптимизатора становится сверх умным на уровне фантастики
источник

DD

Daniil Davydov in Clojure — русскоговорящее сообщество
но до  оптимизатора у вас нет никаких особенностей jvm, которые бы не подверглись изменению и влияли бы на работу
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
работает - работает (не трожь)
тестами покрыт - покрыт
медленно - окей, будем пытаться оптимизировать
устраивает - да и пофиг что там внутри
источник

DD

Daniil Davydov in Clojure — русскоговорящее сообщество
я где-то читал что можно писать циклы таким образом, чтобы помочь оптимизатору их векторизировать и вывод там был - не забивайте голову и используйте апи jvm для векторизации там, где она нужна
источник

ИФ

Иван Федоров in Clojure — русскоговорящее сообщество
источник